1. 实体类处理
需要填充的字段加上以下注解
FieldFill是mybatisplus提供的枚举类,可根据自己的需要选择。
/**
* 字段填充策略枚举类
*
* <p>
* 判断注入的 insert 和 update 的 sql 脚本是否在对应情况下忽略掉字段的 if 标签生成
* <if test="...">......</if>
* 判断优先级比 {@link FieldStrategy} 高
* </p>
*
* @author hubin
* @since 2017-06-27
*/
public enum FieldFill {
/**
* 默认不处理
*/
DEFAULT,
/**
* 插入时填充字段
*/
INSERT,
/**
* 更新时填充字段
*/
UPDATE,
/**
* 插入和更新时填充字段
*/
INSERT_UPDATE
}
2. 字段填充控制器实现
@Component
@Slf4j
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("come to insert fill .........");
this.setFieldValByName("createTime",LocalDateTime.now(),metaObject);
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("come to update fill .........");
this.setFieldValByName("updateTime",LocalDateTime.now(),metaObject);
}
}
MetaObjectHandler类中提供的方法很多,也都有中文注释,可点进去根据需求选择。
这样我规定的创建时间和更新时间的自动填充就完成了。
注:上文可以看出,我的更新时间在两个方法中都加入了,这是需要的,只在updateFill方法中加入的话,更新时间会不断被赋予null值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92308.html