亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決mybatis無法給帶有下劃線屬性賦值問題

 更新時(shí)間:2022年01月20日 11:21:07   作者:Cadence_D  
這篇文章主要介紹了解決mybatis無法給帶有下劃線屬性賦值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mybatis無法給帶有下劃線屬性賦值問

1、配置問題

<!-- 是否開啟自動(dòng)駝峰命名規(guī)則(camel case)映射, -->
<setting name="mapUnderscoreToCamelCase" value="true"/>

或者

//開啟駝峰映射
? ? ? ? bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);

mybatis配置文件設(shè)置了這項(xiàng)后,查詢出來的字段如果帶下劃線,那么就會(huì)去掉下劃線,然后采用java駝峰規(guī)則。比如數(shù)據(jù)庫字段Parent_id,那么查詢出來后,會(huì)轉(zhuǎn)為parentid,然后去實(shí)體類匹配對應(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ù)庫可以查到數(shù)據(jù),但是使用mybatis的實(shí)體類查詢就查不到了。

解決方法

在實(shí)體類中增加以下兩個(gè)set方法并把sql改為

select user_name as username,pass_word as password from demo;

使用實(shí)體類查詢數(shù)據(jù)庫實(shí)際上就是一個(gè)set的過程只需要把每個(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í)體類中有下滑線字段無法賦值問題

實(shí)體類中有下滑線字段,mybatis無法賦值

  • 直接將實(shí)體類中的下劃線去掉
  • 返回值使用resultMap進(jìn)行字段映射賦值

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論