Mybatis下劃線駝峰處理的幾種方法
首先先說明一下為什么會(huì)出現(xiàn)這種情況
數(shù)據(jù)庫(kù)當(dāng)中有時(shí)候會(huì)起一些帶下劃線的列名,例如:last_Name,而javabean當(dāng)中一般遇下劃線都是駝峰顯示的。一般起名稱都是這樣 lastName,這時(shí)候就會(huì)出現(xiàn)一個(gè)問題,就是封裝不到j(luò)avabean里面值。就是因?yàn)閿?shù)據(jù)庫(kù)列名和javabean名稱不一致而封裝不上。

java對(duì)象

查出來會(huì)發(fā)現(xiàn)賦值不上去
Employee [id=1, lastName=null, email=1, gender=1]
這時(shí)候有人該說了,我javabean當(dāng)中也用last_name不上也可以呀。
答案:可以,但是Java中一般是final變量才用大寫字母+下劃線命名。
1、可以通過寫別名
在針對(duì)于對(duì)象屬性多的情況下就不實(shí)用了。寫起來可能因?yàn)檫@一個(gè)名稱,全得把列名寫出來。
<select id="getEmpById" resultType="com.gzl.mybatis.bean.Employee">
select id as id,last_Name as lastName,email as email,gender as gender from student where id = #{id}
</select>
2、開啟駝峰命名
在mybatis-config-xml添加以下配置,切記xml是有順序要求的,如果xml當(dāng)中用到了properties標(biāo)簽,就放在這個(gè)標(biāo)簽下面,如果沒有就放在最上面。
<settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
3、自定義javabean的封裝規(guī)則
<!--自定義某個(gè)javaBean的封裝規(guī)則
type:自定義規(guī)則的Java類型
id:唯一id方便引用
-->
<resultMap type="com.gzl.mybatis.bean.Employee" id="MySimpleEmp">
<!--指定主鍵列的封裝規(guī)則
id定義主鍵會(huì)底層有優(yōu)化;
column:指定哪一列
property:指定對(duì)應(yīng)的javaBean屬性
-->
<id column="id" property="id"/>
<!-- 定義普通列封裝規(guī)則 -->
<result column="last_name" property="lastName"/>
<!-- 其他不指定的列會(huì)自動(dòng)封裝:我們只要寫resultMap就把全部的映射規(guī)則都寫上。 -->
<result column="email" property="email"/>
<result column="gender" property="gender"/>
</resultMap>
<select id="getEmpById" resultMap="MySimpleEmp">
select * from student where id = #{id}
</select>
以上就是Mybatis下劃線駝峰處理的幾種方法的詳細(xì)內(nèi)容,更多關(guān)于Mybatis下劃線駝峰處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ocp開閉原則_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了ocp開閉原則的相關(guān)資料,ocp開閉原則指導(dǎo)我們?nèi)绾谓⒁粋€(gè)穩(wěn)定的、靈活的系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Java?Hibernate中一對(duì)多和多對(duì)多關(guān)系的映射方式
Hibernate是一種Java對(duì)象關(guān)系映射框架,支持一對(duì)多和多對(duì)多關(guān)系的映射。一對(duì)多關(guān)系可以使用集合屬性和單向/雙向關(guān)聯(lián)來映射,多對(duì)多關(guān)系可以使用集合屬性和中間表來映射。在映射過程中,需要注意級(jí)聯(lián)操作、延遲加載、中間表的處理等問題2023-04-04
配置springboot項(xiàng)目使用外部tomcat過程解析
這篇文章主要介紹了配置springboot項(xiàng)目使用外部tomcat過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Java?HttpURLConnection使用方法與實(shí)例演示分析
這篇文章主要介紹了Java?HttpURLConnection使用方法與實(shí)例演示,HttpURLConnection一個(gè)抽象類是標(biāo)準(zhǔn)的JAVA接口,該類位于java.net包中,它提供了基本的URL請(qǐng)求,響應(yīng)等功能,下面我們來深入看看2023-10-10
原生java代碼實(shí)現(xiàn)碼云第三方驗(yàn)證登錄的示例代碼
這篇文章主要介紹了原生java代碼實(shí)現(xiàn)碼云第三方驗(yàn)證登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
springboot中RabbitMQ死信隊(duì)列的實(shí)現(xiàn)示例
死信隊(duì)列是一種特殊的消息隊(duì)列,用來存儲(chǔ)無法被正常消費(fèi)的消息,常被用來實(shí)現(xiàn)延遲處理,異常消息處理等,本文主要介紹了springboot中RabbitMQ死信隊(duì)列的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-01-01
Servlet實(shí)現(xiàn)點(diǎn)擊計(jì)數(shù)器的方法
這篇文章主要介紹了Servlet實(shí)現(xiàn)點(diǎn)擊計(jì)數(shù)器的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08

