如果yml中mtybatis中配置了不生效
configuration:
map-underscore-to-camel-case: true
则在mybatis的config文件中增加
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource,org.apache.ibatis.session.Configuration configuration) throws Exception
{
String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
String mapperLocations = env.getProperty("mybatis.mapperLocations");
String configLocation = env.getProperty("mybatis.configLocation");
typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
VFS.addImplClass(SpringBootVFS.class);
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
// 第一种 配置mybatis自动转驼峰 生效
// sessionFactory.setConfiguration(configuration);
// 第二种 配置mybatis自动转驼峰 生效
sessionFactory.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
return sessionFactory.getObject();
这里使用的是第二种,因为Configuration对象和configLocation不能同时存在,记得去掉方法参数中的configuration对象
}