mybatis支持属性使用驼峰的命名,用属性是这样的

1 mapUnderscoreToCamelCase:true/false 
2  <!--是否启用下划线与驼峰式命名规则的映射(如first_name => firstName)-->

我们一般在数据库中字段名使用 '_'连接,而在实体类中使用驼峰命名。但是这样查询之后使用的驼峰命名法的是映射不到实体类上的 。

要解决这个问题只需要在mybatis配置文件中添加以下配置

配置是这样的

1 <?xml version="1.0" encoding="UTF-8" ?>  
2 <!DOCTYPE configuration  
3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
4 "http://mybatis.org/dtd/mybatis-3-config.dtd">  
5 <configuration>  
6     <settings>  
7         <setting name="mapUnderscoreToCamelCase" value="true" />  
8     </settings>  
9 </configuration>

在setting中设置mapUnderscoreToCamelCase为true,就可以实现驼峰转换了, 这个的默认是false

在SpringBoot 项目中没有mybatis.xml文件,可以在application.properties中,加入下面的配置项:

1 mybatis.configuration.mapUnderscoreToCamelCase=true
2 或
3 mybatis.configuration.map-underscore-to-camel-case=true

设为true表示开启驼峰转换。两种方式实验证明都可以使用。但如果同时配置的话,前者mybatis.configuration.mapUnderscoreToCamelCase的优先级更高。

SpringBoot中还可以使用自定义配置类的方式配置;给容器中添加一个ConfigurationCustomizer;

1 @Configuration
 2 public class MyBatisConfig {
 3 
 4     @Bean
 5     public ConfigurationCustomizer configurationCustomizer() {
 6         return new ConfigurationCustomizer() {
 7 
 8             @Override
 9             public void customize(org.apache.ibatis.session.Configuration configuration) {
10                 configuration.setMapUnderscoreToCamelCase(true);
11             }
12         };
13     }
14 }