mybatis开启驼峰命名不生效
明明在properites配置文件中配置了
# 启用驼峰命名自动转换
mybatis.configuration.map-underscore-to-camel-case=true
可是为什么还是不能进行这样的操作呢?
我的问题是我自己手动配置了mybatis的配置类,需要在自己的mybatis配置类中修改
@Configuration
@MapperScan(basePackages = "com.zwkj.routine.dao.routine",
sqlSessionFactoryRef = "routineSqlSessionFactory")
public class RoutineMyBatisConfig {
@Value("${mybatis.routine.mapper-locations}")
private String routineMapperLocation;
private DataSource routineDataSource;
public RoutineMyBatisConfig(@Qualifier("routineDataSource")DataSource routineDataSource) {
this.routineDataSource = routineDataSource;
}
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
@Bean(name = "routineSqlSessionFactory")
public SqlSessionFactory routineSqlSessionFactory() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
//指定数据源
sqlSessionFactoryBean.setDataSource(routineDataSource);
sqlSessionFactoryBean.setConfiguration(globalConfiguration());
/*
获取xml文件资源对象
当Mapper接口所对应的.xml文件与Mapper接口文件分离,存储在 resources
文件夹下的时候,需要手动指定.xml文件所在的路径
*/
Resource[] resources = new PathMatchingResourcePatternResolver().getResources(routineMapperLocation);
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean.getObject();
}
@Bean(name = "routineTransactionManager")
public PlatformTransactionManager routineTransactionManager() {
return new DataSourceTransactionManager(routineDataSource);
}
加入
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration globalConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
//在sqlSessionFactory中设置该配置
sqlSessionFactoryBean.setConfiguration(globalConfiguration());
这样就好了