一、簡述
mybatis駝峰式命名規則自動轉換:
- 使用前提:數據庫表設計按照規范“字段名中各單詞使用下划線"_"划分”;
- 使用好處:省去mapper.xml文件中繁瑣編寫表字段列表與表實體類屬性的映射關系,即resultMap。
示例:
<resultMap id ="UserInfoMap" type="com.example.mybaitsxml.dao.entity.User"> <result column="name_" property="name"/> <result column="sex" property="sex"/> <result column="age" property="age"/> <result column="class_no" property="classNo"/> </resultMap>
SpringBoot整合mybatis,開啟mybatis駝峰式命名規則自動轉換,通常根據配置文件不同分為兩種方式。
1、方式一
直接application.yml文件中配置開啟
#mybatis配置
mybatis:
typeAliasesPackage: com.example.mybaitsxml.dao.entity
mapperLocations: classpath:mapper/*.xml
configuration: map-underscore-to-camel-case: true
2、方式二
mybatis-config.xml文件中配置開啟,application.yml文件指定配置文件。
-
application.yml文件:
#mybatis配置
mybatis:
typeAliasesPackage: com.example.mybaitsxml.dao.entity
mapperLocations: classpath:mapper/*.xml
configLocation: classpath:/mybatis-config.xml
-
mybatis-config.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--開啟駝峰命名規則自動轉換--> <settings> <setting name="mapUnderscoreToCamelCase" value="true" /> </settings> </configuration>
注:關於xml文件,如果刪除或者注釋掉所有內容,會報錯:"Valid XML document must hava a root tag",若忽略這個報錯直接運行,程序報錯:
“Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 24; 文件提前結束。”
3、小結
開啟mybatis駝峰式命名規則轉換可以省去xml文件中resultMap編寫的麻煩,只需要為resultType指定數據庫表對應的實體類即可,但是考慮程序的安全性以及映射靈活性,通常開發中還是將resultMap結合使用。