mybatis-plugin的几种常用的方法

一.逻辑删除

1.实体类添加
   /**
     * 0 正常 1 删除
     */
    @TableLogic
    private Integer deleted;
2.配置文件添加
mybatis-plus.global-config.db-config.logic-delete-value = 1
mybatis-plus.global-config.db-config.logic-not-delete-value = 0
3.添加配置的类
@Configuration
@MapperScan(value = {"com.zjy.community.developercenter.dao.*"})
public class MybatisPlusConfig {
    /**
     * 逻辑删除例子
     *
     * @return
     */
    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }


}

二.更新时间

1.实体类添加
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyTime;

1.配置类添加
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    private static final Logger LOGGER = LoggerFactory.getLogger(MyMetaObjectHandler.class);

    //insert操作时要填充的字段
    @Override
    public void insertFill(MetaObject metaObject) {
        //LOGGER.info("start insert fill ...");
        //根据属性名字设置要填充的值
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("modifyTime", new Date(), metaObject);
    }

    //update操作时要填充的字段
    @Override
    public void updateFill(MetaObject metaObject) {
        //LOGGER.info("start insert fill ...");
        this.setFieldValByName("modifyTime", new Date(), metaObject);
    }
}

三、主键id生成策略

   @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;


  public enum IdType {
    /**
     * 数据库ID自增
     */
    AUTO(0),
    /**
     * 该类型为未设置主键类型
     */
    NONE(1),
    /**
     * 用户输入ID
     * 

该类型可以通过自己注册自动填充插件进行填充

*/ INPUT(2), /* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */ /** * 全局唯一ID (idWorker) */ ID_WORKER(3), /** * 全局唯一ID (UUID) */ UUID(4), /** * 字符串全局唯一ID (idWorker 的字符串表示)[默认策略] */ ID_WORKER_STR(5); }

四、更新为空

 @TableField(strategy = FieldStrategy.IGNORED)
    private String appName;

五、慢性能分析

//Spring boot方式
@EnableTransactionManagement
@Configuration
@MapperScan("com.baomidou.cloud.service.*.mapper*")
public class MybatisPlusConfig {

    /**
     * SQL执行效率插件
     */
    @Bean
    @Profile({"dev","test"})// 设置 dev test 环境开启
    public PerformanceInterceptor performanceInterceptor() {
        return new PerformanceInterceptor();
    }
}

ps

更多使用方法参考:https://mp.baomidou.com/guide/

你可能感兴趣的:(mybatis-plugin的几种常用的方法)