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

mybatis多層嵌套resultMap及返回自定義參數(shù)詳解

 更新時間:2020年12月01日 09:40:28   作者:會遲到但不會缺席  
這篇文章主要介紹了mybatis多層嵌套resultMap及返回自定義參數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1.兩層嵌套,一個list中加另外一個list

data:[
{a:123,b:456,c:[{d:7,e:8}]}
]

xml文件定義的sql

select * from zhy z LEFT JOIN wl w on z.id = w.zid

resultMap可以定義:

<resultMap id="zhyResultMap" type="zhy的doman實體" extends="zhy自動生成的BaseResultMap">
 <collection property="c" resultMap="wl自動生成的BaseResultMap"/>
</resultMap>

如果測試表zhy與wl表中存在重復(fù)名稱的字段可以使用columnPrefix

注意w_

select z.*,w.b as w_b,w.c as w_c from zhy z LEFT JOIN wl w on z.id = w.zid

<resultMap id="zhyResultMap" type="zhy的doman實體" extends="zhy自動生成的BaseResultMap">
 <collection property="c" resultMap="wl自動生成的BaseResultMap" columnPrefix="w_"/>
</resultMap>

如果接收的實體是自定義的實體并且還有默認參數(shù)

當(dāng)resultMap返回的實體中存在默認值的時候,發(fā)現(xiàn)外層的zhy是可以賦值成功的,但是內(nèi)層的wl卻沒有,這個時候需要將自動生成的BaseResultMap復(fù)制一份重新定義接收實體類

/**
 * 比如這樣實體接收中存在默認賦值
 *
 * @author zhy
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class WlVo extends Wl {
 /**
 * 默認賦值false
 */
 private boolean select = false;
}

將type改為自定義的之后在引用

<resultMap id="wlBaseResultMap" type="com.yasugongshang.db.vo.WlVo">
 <id column="id" jdbcType="BIGINT" property="id" />
 <result column="a" jdbcType="BIGINT" property="a" />
</resultMap>
<resultMap id="zhyResultMap" type="zhy的doman實體" extends="zhy自動生成的BaseResultMap">
 <collection property="c" resultMap="wlBaseResultMap" columnPrefix="w_"/>
</resultMap>

2.三層嵌套,一個list中加另外一個list,內(nèi)list中還存在list

data:[
{a:123,b:456,c:[{d:7,e:8,f:[str]}]}
]

這時候只需要在內(nèi)層wlBaseResultMap中再增加一個collection即可

需要注意的是這個時候columnPrefix可能會導(dǎo)致數(shù)據(jù)為空

<resultMap id="wlBaseResultMap" type="com.yasugongshang.db.vo.WlVo">
 <id column="id" jdbcType="BIGINT" property="id" />
 <result column="a" jdbcType="BIGINT" property="a" />
 <collection property="f" ofType="string">
 <id column="f" jdbcType="VARCHAR"/>
 </collection>
</resultMap>

補充知識:Mybatis中查詢返回多個對象使用resultType使用Map類型代替resultMap

查詢resultType直接使用Type,Dao層返回對象為List嵌套的一個Map數(shù)據(jù)結(jié)構(gòu)

List<Map<String,Object>> selectAll();
<select id="selectAll" resultType="Map">
 //查詢語句
</select>

其中Map的key值為查詢的屬性,Object為查詢的值.

注:使用map類型無法轉(zhuǎn)換成駝峰命名,建議還是使用resultMap類型

以上這篇mybatis多層嵌套resultMap及返回自定義參數(shù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot jackson 精度處理問題解決

    SpringBoot jackson 精度處理問題解決

    由于JavaScript處理的最大數(shù)值限制,較大的雪花ID在JS中容易溢出,為解決此問題,可在SpringMVC或SpringBoot中使用@RequestBody注解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • 圖解如何在Spring Boot中使用JSP頁面

    圖解如何在Spring Boot中使用JSP頁面

    這篇文章主要介紹了圖解如何在Spring Boot中使用JSP頁面,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Java response響應(yīng)體和文件下載實現(xiàn)原理

    Java response響應(yīng)體和文件下載實現(xiàn)原理

    這篇文章主要介紹了Java response響應(yīng)體和文件下載實現(xiàn)原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot自動配置原理,你真的懂嗎?(簡單易懂)

    SpringBoot自動配置原理,你真的懂嗎?(簡單易懂)

    這篇文章主要介紹了SpringBoot自動配置原理,你真的懂嗎?本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • java反射深入剖析(推薦)

    java反射深入剖析(推薦)

    下面小編就為大家?guī)硪黄猨ava反射深入剖析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • java實現(xiàn)文件和base64相互轉(zhuǎn)換

    java實現(xiàn)文件和base64相互轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了java如何實現(xiàn)文件和base64相互轉(zhuǎn)換,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • java web實現(xiàn)郵箱激活與忘記密碼

    java web實現(xiàn)郵箱激活與忘記密碼

    這篇文章主要為大家詳細介紹了java web實現(xiàn)郵箱激活與忘記密碼、重置密碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Java實現(xiàn)兩人五子棋游戲(五) 判斷是否有一方勝出

    Java實現(xiàn)兩人五子棋游戲(五) 判斷是否有一方勝出

    這篇文章主要為大家詳細介紹了Java實現(xiàn)兩人五子棋游戲,判斷是否有一方勝出,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 淺談java多態(tài)的實現(xiàn)主要體現(xiàn)在哪些方面

    淺談java多態(tài)的實現(xiàn)主要體現(xiàn)在哪些方面

    下面小編就為大家?guī)硪黄獪\談java多態(tài)的實現(xiàn)主要體現(xiàn)在哪些方面。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • java實現(xiàn)左旋轉(zhuǎn)字符串

    java實現(xiàn)左旋轉(zhuǎn)字符串

    這篇文章主要為大家詳細介紹了java實現(xiàn)左旋轉(zhuǎn)字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論