最后更新时间字段
拿 lastUpdateTime 字段举例,我们在增加和修改的时候都要对它进行修改为当前时间,如果我们每一次操作都要写代码的话,显得冗余,那么我们就可以用 mybatis-plus 来解决这一问题
首先找到你想要统一处理的字段进行如下处理
@ApiModelProperty(value = "最后更新时间")
// fill = FieldFill.INSERT_UPDATE 表示修改和插入时候可以自动填充
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime lastUpdateTime;
然后增加一个工具类
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* 通用字段处理
*/
@Component
public class GeneralMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
try {
setFieldValByName("lastUpdateTime",LocalDateTime.now(),metaObject);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void updateFill(MetaObject metaObject) {
insertFill(metaObject);
}
}
逻辑删除字段
可以使用 @TableLogic 注解来实现,使用了这个注解后,执行 BaseMapper 的删除方法时候,执行的是 update 操作
添加注解方式
/**
* value: 默认的原值
* delval: 删除后的值
*/
@TableLogic(value = "0",delval = "1")
private Integer isDeleted;