Closed qq894698049 closed 3 years ago
加解决源码 @RequiredArgsConstructor @Configuration @ImportResource({"classpath:applicationContext.xml"}) @AutoConfigureBefore({DruidDataSourceAutoConfigure.class}) public class AutoConfig {
private final DataSource dataSource;
private final MybatisPlusInterceptor mybatisPlusInterceptor;
@Primary
@Bean(name = "helmetSqlSessionFactory")
public SqlSessionFactory helmetSqlSessionFactory()
throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
sqlSessionFactory.setDataSource(dataSource);
// 关键代码 设置 MyBatis-Plus 分页插件
sqlSessionFactory.setPlugins(mybatisPlusInterceptor);
sqlSessionFactory.setTypeHandlersPackage("com.inspursc.common.data.handler");
sqlSessionFactory.setTypeAliasesPackage("org.snaker.engine.entity");
// sqlSessionFactory.setMapperLocations(new ClassPathResource("classpath:mapper/*.xml")); return sqlSessionFactory.getObject(); }
@Bean("dbAccess")
public DBAccess access() throws Exception {
MybatisAccess mybatisAccess = new MybatisAccess();
mybatisAccess.setSqlSessionFactory(helmetSqlSessionFactory());
return mybatisAccess;
}
}
加一下我的解决代码 自定义了SqlSessionFactory
//替换原MP中的SqlSessionFactory @Primary //必须是这个名字 @Bean("mybatisSqlSession") public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean(); sqlSessionFactory.setDataSource(dataSource); //分页插件 新版分页插件会报错,老版可用 PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); paginationInterceptor.setLimit(300); paginationInterceptor.setDialectType(DbType.MYSQL.getDb()); paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
Interceptor[] plugins = {paginationInterceptor};
sqlSessionFactory.setPlugins(plugins);
sqlSessionFactory.setTypeAliasesPackage("top.xxx.hermes.module.*.entity");
// sqlSessionFactory.setConfigLocation(new ClassPathResource("mybatis-config.xml")); sqlSessionFactory.setTypeEnumsPackage("top.antbastion.hermes.config.enums"); return sqlSessionFactory.getObject(); }
新版已修复这个问题
万吨铜球