Mybatis-Plus 分頁和樂觀鎖


import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**

  • MyBatisPlus 樂觀鎖和分頁插件配置
    */
    @MapperScan("com.xxx.mapper") // 啟動類上的掃描 mapper 可以放到這里
    @EnableTransactionManagement
    @Configuration
    public class MyBatisPlusConfig {

    // 注冊樂觀鎖插件(舊版:3.0.5)
    /*
    @Bean
    public OptimisticLockerInterceptor optimisticLockerInterceptor(){
    return new OptimisticLockerInterceptor();
    }
    */

    // 注冊樂觀鎖和分頁插件(新版:3.4.0)
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); // 樂觀鎖插件
    // DbType:數據庫類型(根據類型獲取應使用的分頁方言)
    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 分頁插件
    return interceptor;
    }

    //注冊分頁插件(舊版:3.0.5)
    /*

    • 啟用的原因是因為jdk1.8 Date 日期類線程不安全,使用了LocalDate
      @Bean
      public PaginationInterceptor paginationInterceptor(){
      return new PaginationInterceptor();
      }
      */

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM