解決mybatis無(wú)法給帶有下劃線屬性賦值問(wèn)題
mybatis無(wú)法給帶有下劃線屬性賦值問(wèn)
1、配置問(wèn)題
<!-- 是否開啟自動(dòng)駝峰命名規(guī)則(camel case)映射, --> <setting name="mapUnderscoreToCamelCase" value="true"/>
或者
//開啟駝峰映射 ? ? ? ? bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
mybatis配置文件設(shè)置了這項(xiàng)后,查詢出來(lái)的字段如果帶下劃線,那么就會(huì)去掉下劃線,然后采用java駝峰規(guī)則。比如數(shù)據(jù)庫(kù)字段Parent_id,那么查詢出來(lái)后,會(huì)轉(zhuǎn)為parentid,然后去實(shí)體類匹配對(duì)應(yīng)的字段。 因?yàn)槟銓?shí)體類里有下劃線,所以匹配不上。要么采用resultMap 要么禁用掉駝峰規(guī)則(不建議禁用)。如果不想改實(shí)體類的話,建議采用resultMap。
2、增加set方法轉(zhuǎn)換值的方式
原實(shí)體類
? ? public class demo { ? ? ? ? private String user_name; ? ? ? ? private Striing pass_word; ? ? ?? ? ? ? public String getPass_word(){ ? ? ? ? ? ? ?return pass_word; ? ? ? ? } ? ? ? ? public void setPass_word(String pass_word){ ? ? ? ? ? ? ?this.pass_word=pass_word; ? ? ? ? } ? ? ?? ? ? } ?
原sql
select user_name,pass_word from demo;
這句sql在數(shù)據(jù)庫(kù)可以查到數(shù)據(jù),但是使用mybatis的實(shí)體類查詢就查不到了。
解決方法
在實(shí)體類中增加以下兩個(gè)set方法并把sql改為
select user_name as username,pass_word as password from demo;
使用實(shí)體類查詢數(shù)據(jù)庫(kù)實(shí)際上就是一個(gè)set的過(guò)程只需要把每個(gè)屬性增加一個(gè)set方法就好了
? ? public void setUsernaem(String user_name){ ? ? ? ? ? ? this.user_name=user_name; ? ? ? ?} ? ? ? ?public void setPassword(String pass_word){ ? ? ? ? ? ? this.pass_word=pass_word; ? ? ? ?} ?
僅適用于不方便改實(shí)體類的情況
實(shí)體類中有下滑線字段無(wú)法賦值問(wèn)題
實(shí)體類中有下滑線字段,mybatis無(wú)法賦值
- 直接將實(shí)體類中的下劃線去掉
- 返回值使用resultMap進(jìn)行字段映射賦值
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
IDEA運(yùn)行導(dǎo)入的javaweb項(xiàng)目tomcat正常,但是運(yùn)行失敗404問(wèn)題
這篇文章主要介紹了IDEA運(yùn)行導(dǎo)入的javaweb項(xiàng)目tomcat正常但是運(yùn)行失敗404問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐
本文主要介紹了SpringBoot整合JavaMail實(shí)現(xiàn)發(fā)郵件的項(xiàng)目實(shí)踐,詳細(xì)闡述了使用SpringBoot和JavaMail發(fā)送郵件的步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10String字符串拼接方法concat和+的效率對(duì)比
這篇文章主要介紹了String字符串拼接方法concat和+的效率對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12java中類和對(duì)象的知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于java中類和對(duì)象的知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)下。2020-12-12MybatisPlus使用idworker解決雪花算法重復(fù)
本文主要介紹了MybatisPlus使用idworker解決雪花算法重復(fù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Java中switch判斷語(yǔ)句典型使用實(shí)例
這篇文章主要介紹了Java中switch判斷語(yǔ)句典型使用實(shí)例,本文直接給出代碼實(shí)例,在忘記switch語(yǔ)法時(shí)特別有用,復(fù)制修改即可使用,需要的朋友可以參考下2015-06-06原因分析IDEA導(dǎo)入Spring-kafka項(xiàng)目Gradle編譯失敗
這篇文章主要為大家介紹分析了IDEA導(dǎo)入Spring-kafka項(xiàng)目Gradle中編譯失敗原因及解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02Java解析照片拿到GPS位置數(shù)據(jù)的詳細(xì)步驟
這篇文章主要介紹了Java解析照片拿到GPS位置數(shù)據(jù),本文給大家介紹代碼環(huán)境及核心代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03