55import com .github .cadecode .uniboot .common .plugin .mybatis .aspect .DataScopeAspect ;
66import com .github .cadecode .uniboot .common .plugin .mybatis .aspect .DataScopeAspect .DataScopeParam ;
77import com .github .cadecode .uniboot .common .plugin .mybatis .handler .DataScopePermissionHandler ;
8+ import com .github .pagehelper .autoconfigure .PageHelperAutoConfiguration ;
9+ import lombok .RequiredArgsConstructor ;
810import org .apache .ibatis .executor .Executor ;
911import org .apache .ibatis .mapping .BoundSql ;
1012import org .apache .ibatis .mapping .MappedStatement ;
1113import org .apache .ibatis .session .ResultHandler ;
1214import org .apache .ibatis .session .RowBounds ;
13- import org .springframework .context .annotation .Bean ;
15+ import org .apache .ibatis .session .SqlSessionFactory ;
16+ import org .springframework .beans .factory .InitializingBean ;
17+ import org .springframework .boot .autoconfigure .AutoConfigureAfter ;
1418import org .springframework .context .annotation .Configuration ;
1519
1620import java .sql .SQLException ;
21+ import java .util .List ;
1722import java .util .Objects ;
1823
1924/**
2227 * @author Cade Li
2328 * @date 2022/2/16
2429 */
30+ @ RequiredArgsConstructor
31+ @ AutoConfigureAfter (PageHelperAutoConfiguration .class )
2532@ Configuration
26- public class MybatisConfig {
33+ public class MybatisConfig implements InitializingBean {
2734
28- /**
29- * Mybatis Plus 插件配置
30- */
31- @ Bean
32- public MybatisPlusInterceptor mybatisPlusInterceptor () {
35+ private final List <SqlSessionFactory > sqlSessionFactoryList ;
36+
37+ @ Override
38+ public void afterPropertiesSet () {
3339 MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor ();
40+ // 分页插件,动态获取数据库类型
41+ // interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
42+
3443 // 数据权限插件
3544 DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor (new DataScopePermissionHandler ()) {
3645 @ Override
@@ -45,8 +54,10 @@ public void beforeQuery(Executor executor, MappedStatement ms, Object parameter,
4554 };
4655 interceptor .addInnerInterceptor (dataPermissionInterceptor );
4756
48- // 添加分页插件,动态获取数据库类型
49- // interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
50- return interceptor ;
57+ // 加入插件
58+ for (SqlSessionFactory sqlSessionFactory : sqlSessionFactoryList ) {
59+ org .apache .ibatis .session .Configuration configuration = sqlSessionFactory .getConfiguration ();
60+ configuration .addInterceptor (interceptor );
61+ }
5162 }
5263}
0 commit comments