MyBatis字段名和屬性名不一致的解決方法
1. 字段取別名,和屬性名保持一致
映射文件
<mapper namespace="com.atguigu.mybatis.mapper.EmpMapper">
<!-- 字段名跟屬性名不一致情況下,如何處理映射關(guān)系-->
<!-- Emp getEmpById(@Param("empId") Integer empId);-->
<select id="getEmpById" resultType="Emp">
<!--方式一:給字段起別名,和屬性名保持一致-->
select emp_id empId,emp_name empName,age,gender from t_emp where emp_id=#{empId}
</select>
</mapper>
2. 使用全局配置處理字段名和屬性名不一致
當(dāng)字段符合mysql要求,使用_線,而符合java的要求使用駝峰,
可以在mybatis核心配置設(shè)置一個(gè)全局配置,可以自動(dòng)將下劃線映射為駝峰。
<setting name="mapUnderscoreToCamelCase" value="true"/>
①核心配置文件
<!-- 設(shè)置全局配置 將下劃線映射為駝峰 -->
<!--emp_id-empId; emp_Name-empName -->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
②映射文件
<select id="getEmpById" resultType="Emp">
select * from t_emp where emp_id=#{empId}
</select>
3. 使用自定義映射resultMap處理字段名和屬性不一致情況
resultMap:設(shè)置自定義的映射關(guān)系
id:唯一標(biāo)識(shí)
type:處理映射關(guān)系的實(shí)體類(lèi)的類(lèi)型
標(biāo)簽:
id:處理主鍵和實(shí)體類(lèi)中實(shí)現(xiàn)的映射關(guān)系
result:處理普通字段和實(shí)體類(lèi)中屬性的映射關(guān)系
column:映射關(guān)系中的字段名,必須是sql查詢(xún)出某個(gè)字段
property:設(shè)置映射關(guān)系中的屬性的屬性名,必須是處理的實(shí)體類(lèi)類(lèi)型中的屬性名
映射文件
<resultMap id="empResultMap" type="Emp">
<id column="emp_id" property="empId"></id>
<result column="emp_name" property="empName"></result>
<result column="age" property="age"></result>
<result column="gender" property="gender"></result>
</resultMap>
<select id="getEmpById" resultMap="empResultMap">
select * from t_emp where emp_id=#{empId}
</select>
到此這篇關(guān)于MyBatis字段名和屬性名不一致的解決方法的文章就介紹到這了,更多相關(guān)MyBatis字段名和屬性名不一致內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot啟動(dòng)feign項(xiàng)目報(bào)錯(cuò):Service id not legal hostnam的解決
這篇文章主要介紹了springboot啟動(dòng)feign項(xiàng)目報(bào)錯(cuò):Service id not legal hostnam的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
spring中@Bean和@Component的區(qū)別及說(shuō)明
文章主要介紹了@Bean和@Component兩個(gè)注解在Spring框架中的定義、作用范圍、創(chuàng)建方式、掃描和識(shí)別機(jī)制以及使用場(chǎng)景和建議2024-12-12
IDEA配置SpringBoot熱啟動(dòng),以及熱啟動(dòng)失效問(wèn)題
這篇文章主要介紹了IDEA配置SpringBoot熱啟動(dòng),以及熱啟動(dòng)失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
java根據(jù)模板導(dǎo)出PDF的詳細(xì)實(shí)現(xiàn)過(guò)程
前段時(shí)間因?yàn)橄嚓P(guān)業(yè)務(wù)需求需要后臺(tái)生成pdf文件,所以下面這篇文章主要給大家介紹了關(guān)于java根據(jù)模板導(dǎo)出PDF的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
Java利用釘釘機(jī)器人實(shí)現(xiàn)發(fā)送群消息
這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言如何通過(guò)釘釘機(jī)器人發(fā)送群消息通知,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09
SpringBoot bean依賴(lài)屬性配置詳細(xì)介紹
Spring容器是Spring的核心,一切SpringBean都存儲(chǔ)在Spring容器內(nèi)??梢哉f(shuō)bean是spring核心中的核心。Bean配置信息定義了Bean的實(shí)現(xiàn)及依賴(lài)關(guān)系,這篇文章主要介紹了SpringBoot bean依賴(lài)屬性配置2022-09-09
SpringBoot2.x版本中,使用SpringSession踩的坑及解決
這篇文章主要介紹了SpringBoot2.x版本中,使用SpringSession踩的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

