紧急修复!!mybatis分页问题
This commit is contained in:
parent
39b8586bfd
commit
769e4574ff
@ -14,6 +14,8 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.core.io.DefaultResourceLoader;
|
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.interceptor.mybatis.CreateSqlSessionFactory;
|
||||||
import com.ruoyi.common.utils.MybatisUtils;
|
import com.ruoyi.common.utils.MybatisUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
@ -30,7 +32,7 @@ public class MyBatisConfig {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(prefix = "createSqlSessionFactory", name = "use", havingValue = "mybatis")
|
@ConditionalOnProperty(prefix = "createSqlSessionFactory", name = "use", havingValue = "mybatis")
|
||||||
public CreateSqlSessionFactory createSqlSessionFactory() {
|
public CreateSqlSessionFactory createSqlSessionFactory(PageHelperStandardProperties packageHelperStandardProperties) {
|
||||||
return new CreateSqlSessionFactory() {
|
return new CreateSqlSessionFactory() {
|
||||||
public SqlSessionFactory createSqlSessionFactory(Environment env, DataSource dataSource) throws Exception {
|
public SqlSessionFactory createSqlSessionFactory(Environment env, DataSource dataSource) throws Exception {
|
||||||
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
|
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
|
||||||
@ -38,13 +40,16 @@ public class MyBatisConfig {
|
|||||||
String configLocation = env.getProperty("mybatis.configLocation");
|
String configLocation = env.getProperty("mybatis.configLocation");
|
||||||
typeAliasesPackage = MybatisUtils.setTypeAliasesPackage(typeAliasesPackage);
|
typeAliasesPackage = MybatisUtils.setTypeAliasesPackage(typeAliasesPackage);
|
||||||
VFS.addImplClass(SpringBootVFS.class);
|
VFS.addImplClass(SpringBootVFS.class);
|
||||||
|
|
||||||
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
|
||||||
sessionFactory.setDataSource(dataSource);
|
sessionFactory.setDataSource(dataSource);
|
||||||
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
|
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
|
||||||
sessionFactory.setMapperLocations(
|
sessionFactory.setMapperLocations(
|
||||||
MybatisUtils.resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
|
MybatisUtils.resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
|
||||||
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
|
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
|
||||||
|
PageInterceptor interceptor = new PageInterceptor();
|
||||||
|
interceptor.setProperties(packageHelperStandardProperties.getProperties());
|
||||||
|
sessionFactory.addPlugins(interceptor);
|
||||||
return sessionFactory.getObject();
|
return sessionFactory.getObject();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.ruoyi.framework.config;
|
package com.ruoyi.framework.config;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
@ -25,13 +26,13 @@ public class SqlSessionFactoryConfig {
|
|||||||
DynamicDataSourceProperties dataSourceProperties;
|
DynamicDataSourceProperties dataSourceProperties;
|
||||||
|
|
||||||
@Bean(name = "sqlSessionTemplate")
|
@Bean(name = "sqlSessionTemplate")
|
||||||
public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env) throws Exception {
|
public DynamicSqlSessionTemplate sqlSessionTemplate(Environment env,List<SqlSessionFactory> sqlSessionFactoryList) throws Exception {
|
||||||
Map<Object, SqlSessionFactory> sqlSessionFactoryMap = new HashMap<>();
|
Map<Object, SqlSessionFactory> sqlSessionFactoryMap = new HashMap<>();
|
||||||
Map<String, DataSource> targetDataSources = dataSourceProperties.getTargetDataSources();
|
Map<String, DataSource> targetDataSources = dataSourceProperties.getTargetDataSources();
|
||||||
for (Map.Entry<String, DataSource> entry : targetDataSources.entrySet()) {
|
for (Map.Entry<String, DataSource> entry : targetDataSources.entrySet()) {
|
||||||
SqlSessionFactory sessionFactory = createSqlSessionFactory.createSqlSessionFactory(env, entry.getValue());
|
SqlSessionFactory sessionFactory = createSqlSessionFactory.createSqlSessionFactory(env, entry.getValue());
|
||||||
|
sqlSessionFactoryList.add(sessionFactory);
|
||||||
sqlSessionFactoryMap.put(entry.getKey(), sessionFactory);
|
sqlSessionFactoryMap.put(entry.getKey(), sessionFactory);
|
||||||
|
|
||||||
// 应对热重载的特殊处理
|
// 应对热重载的特殊处理
|
||||||
Object ret = com.atomikos.icatch.config.Configuration.removeResource(entry.getKey());
|
Object ret = com.atomikos.icatch.config.Configuration.removeResource(entry.getKey());
|
||||||
if (ret != null) {
|
if (ret != null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user