問題描述
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。