1. 程式人生 > >SpringBoot整合mybatis——配置mybatis駝峰命名規則自動轉換

SpringBoot整合mybatis——配置mybatis駝峰命名規則自動轉換

一、簡述

  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結合使用。