日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

mybatis-plus不同類型多源數據庫分頁攔截器配置

作者:小木點 更新時間: 2024-03-20 編程語言

公司有個項目需要同時連接oracle和mysql數據庫,配置多源數據庫后發現分頁查詢會出現異常。
原因是,項目原來的分頁攔截器的配置如下,只能支持oracle的分頁

 @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
        return interceptor;
    }

后來考慮能否通過某種方式動態實現,經過查看PaginationInnerInterceptor的源碼發現,實際上當沒有配置分頁攔截器的數據庫類型時會自動獲取。

...
 IDialect dialect = findIDialect(executor);
...
 protected IDialect findIDialect(Executor executor) {
        if (dialect != null) {
            return dialect;
        }
        if (dbType != null) {
            dialect = DialectFactory.getDialect(dbType);
            return dialect;
        }
        return DialectFactory.getDialect(JdbcUtils.getDbType(executor));
    }

所以根本就不用指定數據庫類型,按照如下方式配置即可支持不同類型多源數據庫的分頁查詢

public class MybatisPlusConfig {
    
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }

原文鏈接:https://blog.csdn.net/Jay_fanwj/article/details/129404581

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新