欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Mybatis中resultType為hashmap的情況

 更新時(shí)間:2020年12月02日 08:37:37   作者:會(huì)飛的豬os  
這篇文章主要介紹了淺談Mybatis中resultType為hashmap的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

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

id ,name,age

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

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

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

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

<select id="test" 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中返回

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

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

問(wèn):

mapper配置如下

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

name, nickname 有的是null

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

但是,如果查詢出來(lái)的name為null,那么返回的hashmap里面就沒(méi)有name了

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

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

答:

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

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

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

相關(guān)文章

  • java?Spring的啟動(dòng)原理詳解

    java?Spring的啟動(dòng)原理詳解

    大家好,本篇文章主要講的是java?Spring的啟動(dòng)原理詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • 詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法

    這篇文章主要介紹了詳解Java的內(nèi)置異常以及創(chuàng)建自定義異常子類的方法,是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別實(shí)例分析

    Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別實(shí)例分析

    這篇文章主要介紹了Java Lambda表達(dá)式與匿名內(nèi)部類的聯(lián)系和區(qū)別,結(jié)合實(shí)例形式分析了Java Lambda表達(dá)式與匿名內(nèi)部類功能、用法、區(qū)別及操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接的最詳細(xì)教程分享

    Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接的最詳細(xì)教程分享

    JDBC,Java?Database?Connectivity,即Java數(shù)據(jù)庫(kù)連接,是?Java?中的一套和數(shù)據(jù)庫(kù)進(jìn)行交互的API,本文就來(lái)講講Java如何利用JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接吧
    2023-05-05
  • java飛行棋實(shí)現(xiàn)思路

    java飛行棋實(shí)現(xiàn)思路

    這篇文章主要為大家詳細(xì)介紹了java飛行棋的實(shí)現(xiàn)思路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • java實(shí)戰(zhàn)之桌球小游戲

    java實(shí)戰(zhàn)之桌球小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)戰(zhàn)之桌球小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 解決springboot configuration processor對(duì)maven子模塊不起作用的問(wèn)題

    解決springboot configuration processor對(duì)maven子模塊不起作用的問(wèn)題

    這篇文章主要介紹了解決springboot configuration processor對(duì)maven子模塊不起作用的問(wèn)題,本文通過(guò)圖文實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • SpringMVC?Restful風(fēng)格與中文亂碼問(wèn)題解決方案介紹

    SpringMVC?Restful風(fēng)格與中文亂碼問(wèn)題解決方案介紹

    Restful就是一個(gè)資源定位及資源操作的風(fēng)格,不是標(biāo)準(zhǔn)也不是協(xié)議,只是一種風(fēng)格,是對(duì)http協(xié)議的詮釋,下面這篇文章主要給大家介紹了關(guān)于SpringMVC對(duì)Restful風(fēng)格支持的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 帶你入門Java的方法

    帶你入門Java的方法

    這篇文章主要介紹了java基礎(chǔ)之方法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-07-07
  • Java命名規(guī)范

    Java命名規(guī)范

    本文主要介紹了Java命名規(guī)范。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01

最新評(píng)論