国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

瀏覽:141日期:2023-10-21 13:58:04

常規(guī)情況,我們使用數(shù)據(jù)庫判斷 true or false。所寫的語句是select count(id) from 表名;

這種常用情況下,只有當(dāng)查詢語句查到數(shù)據(jù) 且 只有一條時才會返回 true;

還有一種情況,就是數(shù)據(jù)庫中返回判斷句,比如

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

返回的對錯將以1或0表示;

但是當(dāng)返回值為null,或者多個值的時候 會怎么樣呢,0 1 還是報錯?

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

測試表示這種情況下會報錯:

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

希望大家使用 boolean 返回時 也能格外小心。

這里簡單做了更改方法,可能不是最優(yōu)化的,有更好的意見還請不吝賜教。

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

補充知識:mybatis mapper方法返回值是null還是空對象,或者空列表?

返回單個實體對象,從數(shù)據(jù)庫中沒有查到數(shù)據(jù)時返回為null;

返回Map類型數(shù)據(jù),從數(shù)據(jù)庫中沒有查到數(shù)據(jù)時返回為一個空map(size==0),內(nèi)部用反射創(chuàng)建的HashMap對象,有數(shù)據(jù)時放入這個map,沒數(shù)據(jù)就直接返回這個沒有任何元素的map,而不是null;

返回List類型數(shù)據(jù),從數(shù)據(jù)庫中沒有查到數(shù)據(jù)時返回為一個空列表(size==0),內(nèi)部返回的是自己new的List,有元素則添加進去,沒元素就返回這個list,不會為null。

myabtis源代碼在MapperMethod類下的這段代碼,分別追查下去就行了。。我跟蹤之后得到的結(jié)果就是上面這些,當(dāng)然,只是跟蹤了一部分的實現(xiàn)類,可能其他實現(xiàn)類是不這樣呢?如果有誤請評論。。等先研究一下spring源碼之后再仔細(xì)看看mybatis源碼。

解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題

以上這篇解決mybatis返回boolean值時數(shù)據(jù)庫返回null的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Mybatis 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 东兰县| 桐柏县| 慈利县| 洪江市| 汶川县| 石河子市| 咸宁市| 通山县| 迭部县| 青龙| 鸡泽县| 保德县| 大石桥市| 伊金霍洛旗| 新巴尔虎右旗| 梨树县| 特克斯县| 南投市| 北票市| 昭通市| 来宾市| 石景山区| 仁怀市| 逊克县| 湖南省| 天柱县| 房产| 昌吉市| 无为县| 溧水县| 绥宁县| 佛山市| 乐都县| 罗甸县| 苗栗县| 北流市| 延边| 九江市| 麦盖提县| 木兰县| 遂溪县|