Mybatis 實體類映射為null“坑”


問題描述

    mybatis +Spring+mysql環境,進行查詢,帶有下划線的字段,比如create_date,實體中createDate,返回結果為null。

原因

由於 進行查詢的時候,返回值是使用的resultType 對應的是實體,而這樣create_date與createDate就不能一一對應,框架沒那么智能。改為resultMap進行映射即可。

\mybatis-config.xml

        <!-- 使用駝峰命名法轉換字段。 --> <setting name="mapUnderscoreToCamelCase" value="true"/>

 

mybatis配置文件設置了這項后,查詢出來的字段如果帶下划線,那么就會去掉下划線,然后采用java駝峰規則。比如數據庫字段Parent_id,那么查詢出來后,會轉為parentid,然后去 實體類Category匹配對應的字段。 因為你 實體類里有下划線,所以匹配不上。要么采用resultMap 要么禁用掉駝峰規則(不建議禁用)。如果不想該實體類的話,建議采用resultMap。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM