lzu918 7 달 전
부모
커밋
1bcb9511a9

+ 26 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/AutoPaginationInnerInterceptor.java

@@ -0,0 +1,26 @@
+package com.ruoyi.framework.config;
+
+import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.pagination.DialectFactory;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.IDialect;
+import com.baomidou.mybatisplus.extension.toolkit.JdbcUtils;
+import org.apache.ibatis.executor.Executor;
+
+/**
+ * wanghao
+ * mybatisplus多数据源中关于不同类型的(mysql,oracle)数据库分页
+ * 配置动态方言
+ */
+public class AutoPaginationInnerInterceptor extends PaginationInnerInterceptor {
+
+    @Override
+    protected IDialect findIDialect(Executor executor) {
+        // 首先尝试获取已经设置的方言
+        IDialect dialect = super.findIDialect(executor);
+        // 如果方言未设置,则根据数据库连接类型动态获取
+        if (dialect == null) {
+            return DialectFactory.getDialect(JdbcUtils.getDbType(executor));
+        }
+        return dialect;
+    }
+}

+ 9 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java

@@ -9,6 +9,11 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+//wanghao 更换分页插件
+@EnableTransactionManagement
+
 
 @MapperScan(basePackages = {"com.ruoyi.**.mapper"})
 @Configuration
@@ -19,7 +24,10 @@ public class MybatisPlusConfig {
     public MybatisPlusInterceptor mybatisPlusInterceptor() {
         MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
         // 分页插件
-        interceptor.addInnerInterceptor(paginationInnerInterceptor());
+//        interceptor.addInnerInterceptor(paginationInnerInterceptor());
+
+        //wanghao 更换动态分页插件
+        interceptor.addInnerInterceptor(new AutoPaginationInnerInterceptor());
         // 乐观锁插件
         interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
         // 防止全表更新与删除插件

+ 0 - 25
ruoyi-zzb/src/main/java/com/ruoyi/zzb/study/common/MybatisPlusConfig.java

@@ -1,25 +0,0 @@
-package com.ruoyi.zzb.study.common;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * MybatisPlus配置类
- * @author pan_junbiao
- **/
-@Configuration
-public class MybatisPlusConfig
-{
-    /**
-     * 新增分页拦截器,并设置数据库类型为 mysql
-     */
-    @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
-        return interceptor;
-    }
-}