创建时间、修改时间我们不希望手动更新
方法:
1.实体类字段属性上增加注解
//自动更新时间 @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime;
2.
编写处理器来处理这个注解
import lombok . extern . slf4j . Slf4j ;import org . apache . ibatis . reflection . MetaObject ;import org . springframework . stereotype . Component ;import java . util . Date ;@Slf4j@Component // 一定不要忘记把处理器加到 IOC 容器中!public class MyMetaObjectHandler implements MetaObjectHandler {// 插入时的填充策略@Overridepublic void insertFill ( MetaObject metaObject ) {log . info ( "start insert fill....." );// setFieldValByName(String fieldName, Object fieldVal, MetaObjectmetaObjectthis . setFieldValByName ( "createTime" , new Date (), metaObject );this . setFieldValByName ( "updateTime" , new Date (), metaObject );}// 更新时的填充策略@Overridepublic void updateFill ( MetaObject metaObject ) {log . info ( "start update fill....." );this . setFieldValByName ( "updateTime" , new Date (), metaObject );}}