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();
      }
      */

}

posted @ 2020-12-02 16:39  北方有鱼  阅读(630)  评论(0编辑  收藏  举报