1. 程式人生 > 其它 >MyBatis配置檔案開啟駝峰命名對映

MyBatis配置檔案開啟駝峰命名對映

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 }