问题描述

MyBatis,数据库字段名是下划线,java类中是驼峰命名,不能映射,搜了一下,需要在配置文件中开启配置

1
mybatis.configuration.map-underscore-to-camel-case=true

但是,发现在多数据源情况下,配置不能生效。

解决方案

在需要使用的数据源配置类中,添加配置代码

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//从配置文件读取配置,注入   
@Bean
@ConfigurationProperties(prefix = "mybatis.configuration")
public org.apache.ibatis.session.Configuration configuration(){
return new org.apache.ibatis.session.Configuration();
}

@Bean(name = "projectSqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("projectDataSource") DataSource dataSource,
org.apache.ibatis.session.Configuration configuration) throws Exception {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setConfiguration(configuration); // 设置属性
sessionFactoryBean.setDataSource(dataSource);
return sessionFactoryBean.getObject();
}

参考

SpringBoot中mybatis配置自动转换驼峰标识没有生效