mybatis查詢到了數據,但是實體類個別字段為null問題
mybatis查詢數據,實體類個別字段為null
今天在做一個簡單的查詢操作時遇到的坑,折騰了好久好久,有必要記錄一下本菜雞的心理活動
debug單步執(zhí)行發(fā)現查詢之后有幾個字段沒有映射成功,依然為null
而控制臺打印的sql語句確實拿到了
想著是不是實體類里面的字段命名不一致,瞪大狗眼看了一萬遍也沒發(fā)現有啥不一樣。
又試著在set方法里設斷點,發(fā)現set方法執(zhí)行了,但是傳進來是空。。靈異了。。
最終的最終發(fā)現
mybatis的配置文件里自己整了那么一句。。。
查詢的數據中有幾個列為null 封裝不上
sql語句查詢存在的列顯示不存在
環(huán)境:java web 項目 sql工具 navicat
問題
同事的代碼查詢出的數據總是有兩個列的數據為null, 在排查封裝的returnMap和實體類之后發(fā)現無誤 ,后再Navicat 工具使用sql查詢 發(fā)現根據列查詢數據時 其中的幾個列名為Unknown
(自己做的演示表)
數據
看著表查詢(看似語句正確,其實他報錯了 找不到name列)
然后Navicat 查看表的設計查詢 name列看似一切正常
我將表轉儲為sql文件 打開發(fā)現 name的單引號換行了
然后在nativcat上點擊name 往左移發(fā)現name沒見了
在刪除字段重建之后發(fā)現可以查詢了
在sqlyog 上查看表一明確的發(fā)現前空格問題
查看表的設計結構也會發(fā)現name列沒有顯示
小結一下
因為在創(chuàng)建列名前添加了空格 navicat上是不會顯示的所以誤是正確的列名 但如果你是sqlyog會發(fā)現這些問題
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Spring RedirectAttributes參數跳轉代碼實例
這篇文章主要介紹了Spring RedirectAttributes參數跳轉代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04Java中優(yōu)先隊列PriorityQueue常用方法示例
這篇文章主要介紹了Java中優(yōu)先隊列PriorityQueue常用方法示例,PriorityQueue是一種特殊的隊列,滿足隊列的“隊尾進、隊頭出”條件,但是每次插入或刪除元素后,都對隊列進行調整,使得隊列始終構成最小堆(或最大堆),需要的朋友可以參考下2023-09-09