久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

淺談Mybatis中resultType為hashmap的情況

瀏覽:75日期:2023-10-21 08:11:36

現(xiàn)在有一張user表

id ,name,age

我們進(jìn)行一個(gè)簡(jiǎn)單的查詢:

<select resultType='Uer'> select id ,name,age from user</select>

查詢完后,怎么去接收這個(gè)查詢結(jié)果呢,通常在這個(gè)mapper.xml對(duì)應(yīng)的接口中使用List<User>做為返回值去接收,最后存儲(chǔ)的樣子就是下面的圖

淺談Mybatis中resultType為hashmap的情況

這是一個(gè)很簡(jiǎn)單的單表查詢操作,其實(shí)這種簡(jiǎn)單的單表查詢操作不需要引入U(xiǎn)ser類,直接使用resultType='hashmap',接口中使用List<Object>做為返回值去接(hashmap也是對(duì)象的一種所以可以直接使用Obeject),讓查詢結(jié)果自動(dòng)封裝成Map對(duì)象存入list中也可以返回

<select resultType='hashmap'> select id ,name,age from user</select>

當(dāng)使用hashmap作為返回值類型時(shí),Mybatis會(huì)自動(dòng)將字段名作為key值,將對(duì)應(yīng)的字段值作為value封裝到map中,一條記錄有多個(gè)字段,產(chǎn)生多個(gè)key-value鍵值對(duì)存到一個(gè)map對(duì)象中,多條記錄就會(huì)生成多個(gè)map對(duì)象,多個(gè)map對(duì)象存到list中返回

淺談Mybatis中resultType為hashmap的情況

注意:如果字段對(duì)應(yīng)的值為空,那么在封裝map的時(shí)候,這個(gè)字段會(huì)直接被忽略調(diào)。

補(bǔ)充知識(shí):resultType='java.util.HashMap' sql返回的null值,不在map里面

問:

mapper配置如下

<select resultType='java.util.HashMap'> select id,name,nickname,status from user order by create_time desc</select>

name, nickname 有的是null

這樣導(dǎo)致,查詢出來的map,本來map.size=4的

但是,如果查詢出來的name為null,那么返回的hashmap里面就沒有name了

同樣,nickname也是一樣,請(qǐng)問,如何解決這個(gè)問題

我不想在sql里面用nvl函數(shù)去做

答:

<settings> <setting name='callSettersOnNulls' value='true'/></settings>

把這個(gè)加到你的mybatis-config.xml里。

以上這篇淺談Mybatis中resultType為hashmap的情況就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

相關(guān)文章:
主站蜘蛛池模板: 嘉义市| 富源县| 平乐县| 嵊泗县| 宽甸| 鹰潭市| 江陵县| 乌鲁木齐县| 丰镇市| 东阿县| 晋州市| 谢通门县| 文登市| 高阳县| 南宁市| 平顶山市| 扶绥县| 乐亭县| 株洲县| 香港 | 景德镇市| 博罗县| 喀喇| 额尔古纳市| 荣昌县| 定州市| 全椒县| 萍乡市| 阳西县| 横峰县| 正阳县| 奈曼旗| 保定市| 宜兰县| 澄江县| 盱眙县| 额尔古纳市| 奈曼旗| 荔浦县| 襄垣县| 辰溪县|