application.yml文件中如何開啟mybatis自動駝峰映射
application.yml文件中開啟mybatis自動駝峰映射
configuration: #是否開啟自動駝峰命名規(guī)則映射:從數據庫列名到Java屬性駝峰命名的類似映射 map-underscore-to-camel-case: true
- 如果不開啟映射 在使用BaseMapper 和Iservice封裝的方法時 會報錯
- 如果在Mapper.xml文件中自己寫sql語句 在selsect* 或者其他字段名自己指定清楚的情況下 不會報錯 但同樣無法正確返回數據
- 道理很簡單 因為數據庫數據 寫不到java的屬性名里 只是查詢能查到 不會報錯
sql查詢默認查詢java字段 通過映射變?yōu)閿祿熳侄?因為BaseMapper 和Iservice封裝的方法會默認你的java字段和數據庫字段一致
另外 不知道為什么我的map-underscore-to-camel-case默認為true 設置為false又不能用了 刪掉就恢復正常 不知道是因為框架還是什么原因 非常奇怪
Mybatis/Mybatis-Plus駝峰式命名映射
一、mybatis駝峰式命名
方法一:
使用前提:數據庫表設計按照規(guī)范“字段名中各單詞使用下劃線"_"劃分”;使用好處:省去mapper.xml文件中繁瑣編寫表字段列表與表實體類屬性的映射關系,即resultMap。示例:
<resultMap type="io.renren.modules.generator.entity.TokenEntity" id="tokenMap"> <result property="id" column="id"/> <result property="userId" column="user_id"/> <result property="token" column="token"/> <result property="expireDate" column="expire_date"/> <result property="updateDate" column="update_date"/> </resultMap>
方法二:
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>
方法三:
application.yml文件指定配置文件
mybatis: typeAliasesPackage: com.example.mybaitsxml.dao.entity mapperLocations: classpath:mapper/*.xml configLocation: classpath:/mybatis-config.xml
二、mybatisPlus默認開啟駝峰命名映射
也可以關閉
mybatis-plus: configuration: #在映射實體或者屬性時,將數據庫中表名和字段名中的下劃線去掉,按照駝峰命名法映射 address_book ---> addressBook map-underscore-to-camel-case: false
到此這篇關于application.yml文件中開啟mybatis自動駝峰映射的文章就介紹到這了,更多相關mybatis自動駝峰映射內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!