From 769e4574ff5c7a4a89a91b7ba283bed692af0d4c Mon Sep 17 00:00:00 2001 From: dftre <3066417822@qq.com> Date: Thu, 18 Jul 2024 10:49:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=B4=A7=E6=80=A5=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=81=EF=BC=81mybatis=E5=88=86=E9=A1=B5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/framework/config/MyBatisConfig.java | 9 +++++++-- .../ruoyi/framework/config/SqlSessionFactoryConfig.java | 5 +++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java index 29c8269..686a373 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java @@ -14,6 +14,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.io.DefaultResourceLoader; +import com.github.pagehelper.PageInterceptor; +import com.github.pagehelper.autoconfigure.PageHelperStandardProperties; import com.ruoyi.common.interceptor.mybatis.CreateSqlSessionFactory; import com.ruoyi.common.utils.MybatisUtils; import com.ruoyi.common.utils.StringUtils; @@ -30,7 +32,7 @@ public class MyBatisConfig { @Bean @ConditionalOnProperty(prefix = "createSqlSessionFactory", name = "use", havingValue = "mybatis") - public CreateSqlSessionFactory createSqlSessionFactory() { + public CreateSqlSessionFactory createSqlSessionFactory(PageHelperStandardProperties packageHelperStandardProperties) { return new CreateSqlSessionFactory() { public SqlSessionFactory createSqlSessionFactory(Environment env, DataSource dataSource) throws Exception { String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); @@ -38,13 +40,16 @@ public class MyBatisConfig { String configLocation = env.getProperty("mybatis.configLocation"); typeAliasesPackage = MybatisUtils.setTypeAliasesPackage(typeAliasesPackage); VFS.addImplClass(SpringBootVFS.class); - + final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); sessionFactory.setMapperLocations( MybatisUtils.resolveMapperLocations(StringUtils.split(mapperLocations, ","))); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); + PageInterceptor interceptor = new PageInterceptor(); + interceptor.setProperties(packageHelperStandardProperties.getProperties()); + sessionFactory.addPlugins(interceptor); return sessionFactory.getObject(); } }; diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java index 5377749..b704933 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java @@ -1,6 +1,7 @@ package com.ruoyi.framework.config; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.sql.DataSource; @@ -25,13 +26,13 @@ public class SqlSessionFactoryConfig { DynamicDataSourceProperties dataSourceProperties; @Bean(name = "sqlSessionTemplate") - public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env) throws Exception { + public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env,List sqlSessionFactoryList) throws Exception { Map sqlSessionFactoryMap = new HashMap<>(); Map targetDataSources = dataSourceProperties.getTargetDataSources(); for (Map.Entry entry : targetDataSources.entrySet()) { SqlSessionFactory sessionFactory = createSqlSessionFactory.createSqlSessionFactory(env, entry.getValue()); + sqlSessionFactoryList.add(sessionFactory); sqlSessionFactoryMap.put(entry.getKey(), sessionFactory); - // 应对热重载的特殊处理 Object ret = com.atomikos.icatch.config.Configuration.removeResource(entry.getKey()); if (ret != null) { From ac9ef6ec1a4a5595be23f58fc00a5065b80e7bd8 Mon Sep 17 00:00:00 2001 From: dftre <3066417822@qq.com> Date: Thu, 18 Jul 2024 10:52:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A4=9A=E6=8F=90=E4=BA=A4=E4=BA=86?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/framework/config/SqlSessionFactoryConfig.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java index b704933..77af5a5 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SqlSessionFactoryConfig.java @@ -1,7 +1,6 @@ package com.ruoyi.framework.config; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.sql.DataSource; @@ -26,12 +25,11 @@ public class SqlSessionFactoryConfig { DynamicDataSourceProperties dataSourceProperties; @Bean(name = "sqlSessionTemplate") - public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env,List sqlSessionFactoryList) throws Exception { + public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env) throws Exception { Map sqlSessionFactoryMap = new HashMap<>(); Map targetDataSources = dataSourceProperties.getTargetDataSources(); for (Map.Entry entry : targetDataSources.entrySet()) { SqlSessionFactory sessionFactory = createSqlSessionFactory.createSqlSessionFactory(env, entry.getValue()); - sqlSessionFactoryList.add(sessionFactory); sqlSessionFactoryMap.put(entry.getKey(), sessionFactory); // 应对热重载的特殊处理 Object ret = com.atomikos.icatch.config.Configuration.removeResource(entry.getKey());