您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了如何解決mybatis無法給帶有下劃線屬性賦值問題,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“如何解決mybatis無法給帶有下劃線屬性賦值問題”這篇文章吧。
<!-- 是否開啟自動駝峰命名規則(camel case)映射, --> <setting name="mapUnderscoreToCamelCase" value="true"/>
或者
//開啟駝峰映射 bean.getObject().getConfiguration().setMapUnderscoreToCamelCase(true);
mybatis配置文件設置了這項后,查詢出來的字段如果帶下劃線,那么就會去掉下劃線,然后采用java駝峰規則。比如數據庫字段Parent_id,那么查詢出來后,會轉為parentid,然后去實體類匹配對應的字段。 因為你實體類里有下劃線,所以匹配不上。要么采用resultMap 要么禁用掉駝峰規則(不建議禁用)。如果不想改實體類的話,建議采用resultMap。
原實體類
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在數據庫可以查到數據,但是使用mybatis的實體類查詢就查不到了。
在實體類中增加以下兩個set方法并把sql改為
select user_name as username,pass_word as password from demo;
使用實體類查詢數據庫實際上就是一個set的過程只需要把每個屬性增加一個set方法就好了
public void setUsernaem(String user_name){ this.user_name=user_name; } public void setPassword(String pass_word){ this.pass_word=pass_word; }
僅適用于不方便改實體類的情況
實體類中有下滑線字段,mybatis無法賦值
直接將實體類中的下劃線去掉
返回值使用resultMap進行字段映射賦值
以上就是關于“如何解決mybatis無法給帶有下劃線屬性賦值問題”的內容,如果該文章對您有所幫助并覺得寫得不錯,勞請分享給您的好友一起學習新知識,若想了解更多相關知識內容,請多多關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。