Springboot 配置多数据源Mybatis的MapUnderScoreToCamelCase不生效

一开始没理解为什么不生效,明明application.yml中已经配置了。但是分析了一下就知道,因为mapUnderScoreToCamelCase是Configuration的一个属性,之前习惯了这种配置,框架帮忙做了,不了解其原理,在这边SqlSessionFactory中根本没有配置configuration对象,当然不生效。

所以现在了解了问题,mapUnderScoreToCamelCase是Configuration的一个属性,Configuration需要注入到SqlSesssionFactory中。

pom.xml

mybatis:
configuration:
mapUnderscoreToCamelCase: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

xxConfig.class

@Bean(name = "config2")
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration(){
return new org.apache.ibatis.session.Configuration();
}

@Bean(name = "sqlSessionFactory2")
public SqlSessionFactory sqlSessionFactory2(@Qualifier("dataSource2") DataSource dataSource,@Qualifier("config2") org.apache.ibatis.session.Configuration config) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setConfiguration(config);
try {
return bean.getObject();
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}


原文地址:https://www.cnblogs.com/fightingtong/p/13883894.html