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();
}
*/
- 啟用的原因是因為jdk1.8 Date 日期類線程不安全,使用了LocalDate
}