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

java對象

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

