mybatis框架 實體類的屬性名和資料庫的列名不一樣時的四種解決方案
阿新 • • 發佈:2022-01-17
實體類的屬性名和資料庫的列名一定要是一樣的 如果是一樣的 那麼系統會自動幫你封裝 不一樣的話 則不會幫你封裝
這個時候 當你查詢的時候 屬性名和列名不一樣的那個列 不管你怎麼給值 給它值 它永遠都是null
如果實體類的屬性名和列名不是一模一樣的時候 你怎麼解決
解決方法: 前面三種方法 使用於任何的屬性名和列名不一致的情況 最後一種方法 只能適用於 名字裡面帶有_
1 起別名
起別名 select *,password(列名) pwd(給password列名取的別名) from user
執行出來的結果多了列 這個別名列的值 跟真實的資料庫的列名的值是一模一樣的
2 手動封裝 使用resultMap注意: resultType 和resultMap 不能同時存在
3 使用對映的物件 方法的返回值型別 直接使用Map來封裝
4 驅動駝峰命名規則 這個方法只能適用於user_name 這種命名 把下劃線去掉
在你的主配置檔案裡面 加上這一行程式碼 就OK了