package cc.mrbird.febs.common.datasource.starter.configure;
|
|
import cc.mrbird.febs.common.datasource.starter.inteceptor.DataPermissionInterceptor;
|
import com.baomidou.mybatisplus.core.parser.ISqlParser;
|
import com.baomidou.mybatisplus.extension.parsers.BlockAttackSqlParser;
|
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.core.annotation.Order;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author MrBird
|
*/
|
@Configuration
|
public class FebsDataSourceAutoConfigure {
|
|
/**
|
* 注册数据权限
|
*/
|
@Bean
|
@Order(-1)
|
public DataPermissionInterceptor dataPermissionInterceptor() {
|
return new DataPermissionInterceptor();
|
}
|
|
/**
|
* 注册分页插件
|
*/
|
@Bean
|
@Order(-2)
|
public PaginationInterceptor paginationInterceptor() {
|
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
|
// 设置最大单页限制数量,默认 500 条,-1 不受限制
|
paginationInterceptor.setLimit(-1);
|
List<ISqlParser> sqlParserList = new ArrayList<>();
|
sqlParserList.add(new BlockAttackSqlParser());
|
paginationInterceptor.setSqlParserList(sqlParserList);
|
return paginationInterceptor;
|
}
|
/**
|
*
|
* 注册乐观锁插件
|
*
|
* date 2021-01-26 08:49
|
* @author: luoyibo
|
* @return com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor
|
*/
|
@Bean
|
@Order(-3)
|
public OptimisticLockerInterceptor optimisticLockerInterceptor(){
|
return new OptimisticLockerInterceptor();
|
}
|
}
|