溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于mybatis callSettersOnNulls 配置解析

發(fā)布時間:2020-10-22 09:18:30 來源:腳本之家 閱讀:275 作者:其實我也不知道 欄目:編程語言

今天做了一件坑了自己的事情,為此浪費了好多時間。。。

   在mybatis的設(shè)置中,看到了這樣的一行設(shè)置。出于程序員的好奇,去搜索了一下,這條設(shè)置是干什么的?!  ?/p>

<setting name="callSettersOnNulls" value="true"/>

   在網(wǎng)上眾多大神的解答下,終于一知半解了。

   在一般查詢中,如果用map接受查詢結(jié)果時,會自動將查詢結(jié)果為null的字段忽略,這樣就造成取參數(shù)時報空指針異常的情況。

   如果設(shè)置了這條屬性之后,mybatis就不會忽略這些字段,你依然能get到這些key,只不過value為null,這樣也方便。

   那么坑來了,這種設(shè)置的情況下,會出現(xiàn)2種比較特殊的情況。

   1.如果整個查詢的所有字段都沒有值,就是查詢到0條記錄時,那么接受到的map是什么結(jié)果?

   答案是,我們會接收到一個所有key值都為null 的map 而不是一個為null的map。

   2.如果只查詢一個字段,而用map接收,此時為null是什么結(jié)果?

   答案是,我們會接收到一個為null的map,跟上面情況正好相反。

總結(jié)

以上所述是小編給大家介紹的關(guān)于mybatis callSettersOnNulls 配置解析,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI