在项目里加了mybatis的配置,
如下:
mybatis.configuration.map-underscore-to-camel-case=false
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
发现没有生效
。
排查了一下,发现原因,是因为使用了多数据源的原因
。
多数据需要自己配置config到SqlSessionFactoryBean
中
解决方法如下:
- 创建MybatisConfig配置类:
@Configuration
public class MybatisConfig {
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration mybatisConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
}
- 在
SqlSessionFactoryBean
中设置配置类
@Bean
@Primary
public SqlSessionFactoryBean sqlSessionFactory(org.apache.ibatis.session.Configuration configuration) throws IOException, SQLException {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource1());
// 设置查找器
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath*:mapper/*.xml"));
// 手动设置配置
sqlSessionFactoryBean.setConfiguration(configuration);
return sqlSessionFactoryBean;
}