mybatis查詢到了數(shù)據(jù),但是實體類個別字段為null問題
mybatis查詢數(shù)據(jù),實體類個別字段為null
今天在做一個簡單的查詢操作時遇到的坑,折騰了好久好久,有必要記錄一下本菜雞的心理活動
debug單步執(zhí)行發(fā)現(xiàn)查詢之后有幾個字段沒有映射成功,依然為null

而控制臺打印的sql語句確實拿到了

想著是不是實體類里面的字段命名不一致,瞪大狗眼看了一萬遍也沒發(fā)現(xiàn)有啥不一樣。
又試著在set方法里設(shè)斷點,發(fā)現(xiàn)set方法執(zhí)行了,但是傳進(jìn)來是空。。靈異了。。
最終的最終發(fā)現(xiàn)
mybatis的配置文件里自己整了那么一句。。。

查詢的數(shù)據(jù)中有幾個列為null 封裝不上
sql語句查詢存在的列顯示不存在
環(huán)境:java web 項目 sql工具 navicat
問題
同事的代碼查詢出的數(shù)據(jù)總是有兩個列的數(shù)據(jù)為null, 在排查封裝的returnMap和實體類之后發(fā)現(xiàn)無誤 ,后再Navicat 工具使用sql查詢 發(fā)現(xiàn)根據(jù)列查詢數(shù)據(jù)時 其中的幾個列名為Unknown
(自己做的演示表)
數(shù)據(jù)

看著表查詢(看似語句正確,其實他報錯了 找不到name列)

然后Navicat 查看表的設(shè)計查詢 name列看似一切正常

我將表轉(zhuǎn)儲為sql文件 打開發(fā)現(xiàn) name的單引號換行了

然后在nativcat上點擊name 往左移發(fā)現(xiàn)name沒見了

在刪除字段重建之后發(fā)現(xiàn)可以查詢了
在sqlyog 上查看表一明確的發(fā)現(xiàn)前空格問題

查看表的設(shè)計結(jié)構(gòu)也會發(fā)現(xiàn)name列沒有顯示

小結(jié)一下
因為在創(chuàng)建列名前添加了空格 navicat上是不會顯示的所以誤是正確的列名 但如果你是sqlyog會發(fā)現(xiàn)這些問題
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java編寫簡易rabbitmq生產(chǎn)者與消費者的代碼
開發(fā)時經(jīng)常與其它系統(tǒng)用rabbitmq對接,當(dāng)需要自測時,還是自己寫rabbitmq生產(chǎn)者、消費者自測方便些,下面給大家總結(jié)使用java編寫簡易rabbitmq的方法,感興趣的朋友一起看看吧2023-11-11
Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實例
這篇文章主要介紹了Spring RedirectAttributes參數(shù)跳轉(zhuǎn)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約
這篇文章主要為大家介紹了java理論基礎(chǔ)Stream?reduce實現(xiàn)集合元素歸約示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
Java中優(yōu)先隊列PriorityQueue常用方法示例
這篇文章主要介紹了Java中優(yōu)先隊列PriorityQueue常用方法示例,PriorityQueue是一種特殊的隊列,滿足隊列的“隊尾進(jìn)、隊頭出”條件,但是每次插入或刪除元素后,都對隊列進(jìn)行調(diào)整,使得隊列始終構(gòu)成最小堆(或最大堆),需要的朋友可以參考下2023-09-09
Maven報錯之導(dǎo)入Junit包來實現(xiàn)@Test注解問題
這篇文章主要介紹了Maven報錯之導(dǎo)入Junit包來實現(xiàn)@Test注解問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

