Mybatis下劃線駝峰處理的幾種方法
首先先說明一下為什么會出現這種情況
數據庫當中有時候會起一些帶下劃線的列名,例如:last_Name,而javabean當中一般遇下劃線都是駝峰顯示的。一般起名稱都是這樣 lastName,這時候就會出現一個問題,就是封裝不到javabean里面值。就是因為數據庫列名和javabean名稱不一致而封裝不上。
java對象
查出來會發(fā)現賦值不上去
Employee [id=1, lastName=null, email=1, gender=1]
這時候有人該說了,我javabean當中也用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當中用到了properties標簽,就放在這個標簽下面,如果沒有就放在最上面。
<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:指定對應的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下劃線駝峰處理的幾種方法的詳細內容,更多關于Mybatis下劃線駝峰處理的資料請關注腳本之家其它相關文章!
相關文章
Spring Boot Starter 的應用場景與自動配置方式
本文介紹了Spring Boot Starter的使用場景,如何自定義Starter以及Spring Boot自動配置原理,Spring Boot Starter解決了依賴導入和配置繁瑣的問題,通過自動配置類和xxxProperties類實現組件的自動注入和配置,感興趣的朋友一起看看吧2025-03-03Synchronized?和?ReentrantLock?的實現原理及區(qū)別
這篇文章主要介紹了Synchronized?和?ReentrantLock?的實現原理及區(qū)別,文章為榮啊主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09淺談Java異常的Exception e中的egetMessage()和toString()方法的區(qū)別
下面小編就為大家?guī)硪黄獪\談Java異常的Exception e中的egetMessage()和toString()方法的區(qū)別。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07