1. 自动填充字段
1. 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.metaObjectHandler2. 注解填充字段 @TableField(.. fill = FieldFill.INSERT) 生成器策略部分也可以配置!3. 将MymetaObjectHandler配置到Mybatis-plus中 2. 逻辑删除
1. 配置GlobalConfig2. 实体类字段上加上@TableLogic注解
3. 分页插件
spring配置文件将自动填充字段、逻辑删除、分页插件都配置上如下:
1. 自动填充字段
官网教程针对springboot的配置如下
1. 实现元对象处理器接口:com.baomidou.mybatisplus.core.handlers.metaObjectHandler@Slf4j @Component public class MymetaObjectHandler implements metaObjectHandler { @Override public void insertFill(metaObject metaObject) { log.info("start insert fill ...."); this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用) // 或者 this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐) // 或者 this.fillStrategy(metaObject, "createTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug) } @Override public void updateFill(metaObject metaObject) { log.info("start update fill ...."); this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) // 或者 this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐) // 或者 this.fillStrategy(metaObject, "updateTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug) } }2. 注解填充字段 @TableField(… fill = FieldFill.INSERT) 生成器策略部分也可以配置!
public class User { // 注意!这里需要标记为填充字段 @TableField(.. fill = FieldFill.INSERT) private String fillField; .... }
因为springboot底层帮我们做好了自动配置,我们只需要根据需求去添加组件即可。
但是SSM项目并没有自动配置功能,因此我们需要自己去配置。
@Component注解只是帮我们把MymetaObjectHandler注册到Spring容器中,但并不会把MymetaObjectHandler配置到Mybatis-plus中。
所以,除了上述两步,还需要将MymetaObjectHandler配置到Mybatis-plus中
3. 将MymetaObjectHandler配置到Mybatis-plus中2. 逻辑删除 1. 配置GlobalConfig
2. 实体类字段上加上@TableLogic注解
@TableLogic private Integer deleted;3. 分页插件
3.4.0版本之前
3.4.0版本之后
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)