自动填充(时间)、逻辑删除、分页插件、SQL执行效率插件

这篇博客介绍了如何在Spring Boot应用中实现自动填充时间字段,逻辑删除功能,以及使用分页插件和SQL执行效率监控插件。通过配置实体类、数据库字段和相关配置类,开发者可以提升开发效率并优化数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自动填充(时间)

先添加两个字段(数据库和实体类都要)

 @TableField(fill = FieldFill.INSERT)
 private Date createTime;
 @TableField(fill = FieldFill.INSERT_UPDATE)
 private Date updateTime;

然后在配置类实现接口MetaObjectHandler重写以下方法

//创建时自动填充创建和修改时间
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("createTime",new Date(),metaObject);
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }
    //修改时自动填充修改时间
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime",new Date(),metaObject);
    }

逻辑删除

先添加逻辑删除字段(执行删除操作后不会删除数据库数据,只会把deleted字段改为1)

@TableLogic
private Integer deleted;

配置类配置

@Bean
public ISqlInjector sqlInjector() {
   return new LogicSqlInjector();
}

yml文件增加

mybatis-plus.global-config.db-config.logic-delete-value=1 
mybatis-plus.global-config.db-config.logic-not-delete-value=0

分页插件

配置类配置

@Bean
public PaginationInterceptor paginationInterceptor() {
   return new PaginationInterceptor();
}

SQL执行效率插件(dev是开发环境、test是测试环境)

 /**
     * SQL执行效率插件
     */
    @Bean
    @Profile({"dev","test"})// 设置 dev test 环境开启,保证我们的效率
    public PerformanceInterceptor performanceInterceptor() {
        PerformanceInterceptor performanceInterceptor = new
                PerformanceInterceptor();
        performanceInterceptor.setMaxTime(100); // ms设置sql执行的最大时间,如果超过了则不
        performanceInterceptor.setFormat(true); // 是否格式化代码
        return performanceInterceptor;
    }

yml文件增加

Spring.profiles.active= dev

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值