欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決mybatis無(wú)法給帶有下劃線屬性賦值問(wèn)題

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

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)文章

最新評(píng)論