1. 程式人生 > 其它 >MybatisPlus邏輯刪除、執行效能

MybatisPlus邏輯刪除、執行效能

一、邏輯刪除

1、新增欄位,預設值為0(或者使用this.setFieldValByName("deleted",0,metaObject);)

2、實體類,新增屬性

@TableLogic
    private Integer deleted;

3、Configuration配置類中新增,邏輯刪除外掛

//邏輯刪除外掛
    @Bean
    public ISqlInjector sqlInjector() {
        return new LogicSqlInjector();
    }

4、配置檔案

#預設值(可進行修改)
#mybatis-plus.global-config.db-config.logic-delete-value=1
#mybatis
-plus.global-config.db-config.logic-not-delete-value=0

5、測試類

    //刪除操作 物理刪除
    @Test
    public void testDeleteById(){
        int result = userMapper.deleteById(1414586284076175361L);
        System.out.println(result);
    }

二、執行效能

1、配置檔案

#環境設定:dev、test、prod
spring.profiles.active=dev

2、Configuration配置類中新增,sql執行效能外掛

/**
     * SQL 執行效能分析外掛
     * 開發環境使用,線上不推薦。 maxTime 指的是 sql 最大執行時長
     *
     * 三種環境
     *      * dev:開發環境
     *      * test:測試環境
     *      * prod:生產環境
     */
    @Bean
    @Profile({"dev","test"})// 設定 dev test 環境開啟
    public PerformanceInterceptor performanceInterceptor() {
        PerformanceInterceptor performanceInterceptor 
= new PerformanceInterceptor(); performanceInterceptor.setMaxTime(500);//ms,超過此處設定的ms則sql不執行 performanceInterceptor.setFormat(true); return performanceInterceptor; }