最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis如何封裝List<String>類型屬性

 更新時(shí)間:2023年12月06日 09:47:45   作者:hhtSeeTheWorld  
這篇文章主要介紹了mybatis如何封裝List<String>類型屬性問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

數(shù)據(jù)庫

有一個(gè)班級(jí)表

然后還有一個(gè)學(xué)生表

需要封裝成的對(duì)象

/*
 *@author huanghaitao
 *@description
 *@Date 2022/1/27
 */
@Data
public class AClassAndStudent {

    private Integer classId;

    private String className;
    
    private List<String> stuNames;
}

第一種寫法

封裝ResultMap寫法

   <resultMap id="AClassAndStudent" type="com.ruoyi.system.domain.AClassAndStudent">
        <result column="class_id" property="classId"/>
        <result column="class_name" property="className"/>
        <collection property="stuNames" ofType="string">
            <constructor>
                <arg column="stu_name"/>
            </constructor>
        </collection>
    </resultMap>

sql語句

<select id="testSelectSql" resultMap="AClassAndStudent">
    select c.id   class_id,
           c.name class_name,
           s.name stu_name
    from class c
             left join student s on c.id = s.class_id
    where c.id = 1
</select>

打印結(jié)果

AClassAndStudent(classId=1, className=3班, stuNames=[張三, 李四, 王二, 趙六])

第二種寫法

    <resultMap id="AClassAndStudent" type="com.ruoyi.system.domain.AClassAndStudent">
        <result column="class_id" property="classId"/>
        <result column="class_name" property="className"/>
        <collection property="stuNames" column="class_id" ofType="string" select="selectStuName"/>
    </resultMap>
 
    <select id="testSelectSql" resultMap="AClassAndStudent">
        select c.id   class_id,
               c.name class_name
        from class c
        where c.id = 1
    </select>

    <select id="selectStuName" resultType="java.lang.String">
        select name stu_name
        from Student
        where class_id = 1
    </select>

上面那個(gè)爆紅 不用管的

sql語句打印 有點(diǎn)區(qū)別

但是結(jié)果是一樣的

AClassAndStudent(classId=1, className=3班, stuNames=[張三, 李四, 王二, 趙六])

第三種寫法

修改封裝方式

新建一個(gè)學(xué)生類

/*
 *@author huanghaitao
 *@description
 *@Date 2022/1/27
 */
@Data
public class AStudent {

    private Integer id;
    private Integer classId;
    private String name;

}

一個(gè)班級(jí)類,這個(gè)班級(jí)類包含學(xué)生類

import java.util.List;
@Data
public class AClassContainStudent {

    private Integer id;

    private String name;

    private List<AStudent> studentList;
}

這樣的話,ResultMap寫法是下面這樣的

<resultMap id="AClassContainStudent" type="com.ruoyi.system.domain.AClassContainStudent">
    <id column="class_id" property="id"/>
    <result column="class_name" property="name"/>
    <collection property="studentList" resultMap="AStudent"/>
</resultMap>

<resultMap id="AStudent" type="com.ruoyi.system.domain.AStudent">
    <id column="stu_id" property="id"/>
    <result column="class_id" property="classId"/>
    <result column="stu_name" property="name"/>
</resultMap>

<select id="testSelectSqlTwo" resultMap="AClassContainStudent">
    select c.id   class_id,
           c.name class_name,
           s.id   stu_id,
           s.name stu_name
    from class c
             left join student s on c.id = s.class_id
    where c.id = 1
</select>

打印的結(jié)果

AClassContainStudent(id=1, name=3班, studentList=[AStudent(id=1,
classId=1, name=張三), AStudent(id=2, classId=1, name=李四),
AStudent(id=3, classId=1, name=王二), AStudent(id=4, classId=1,
name=趙六)])

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot讀取外部配置文件,項(xiàng)目部署時(shí)配置讀取不到問題及解決

    Springboot讀取外部配置文件,項(xiàng)目部署時(shí)配置讀取不到問題及解決

    這篇文章主要介紹了Springboot讀取外部配置文件,項(xiàng)目部署時(shí)配置讀取不到問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • idea 無法debug調(diào)試的解決方案

    idea 無法debug調(diào)試的解決方案

    這篇文章主要介紹了idea 無法debug調(diào)試的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • vue+springboot前后端分離工程跨域問題解決方案解析

    vue+springboot前后端分離工程跨域問題解決方案解析

    這篇文章主要介紹了vue+springboot前后端分離工程跨域問題解決方案解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 用java代碼幫朋友P圖

    用java代碼幫朋友P圖

    這篇文章主要為大家介紹了使用java代碼幫朋友P圖的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java多線程 原子操作類詳細(xì)

    Java多線程 原子操作類詳細(xì)

    這篇文章主要介紹了Java多線程中的原子操作類,原子的本意是不能被分割的粒子,而對(duì)于一個(gè)操作來說,如果它是不可被中斷的一個(gè)或者一組操作,那么他就是原子操作。顯然,原子操作是安全的,因?yàn)樗粫?huì)被打斷,需要的朋友可以參考下
    2021-10-10
  • Java?工具類實(shí)現(xiàn)音頻音量提升

    Java?工具類實(shí)現(xiàn)音頻音量提升

    本文主要介紹了可以將音頻提升音量的一個(gè)java工具類示例代碼,代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴來了解一下吧,,希望能夠給你帶來幫助
    2021-11-11
  • Java比較問題詳細(xì)分析

    Java比較問題詳細(xì)分析

    本篇文章主要給大家講解了Java中比較問題的相關(guān)知識(shí),一起參考學(xué)習(xí)下吧。
    2017-12-12
  • SpringBoot實(shí)現(xiàn)QPS監(jiān)控的完整代碼

    SpringBoot實(shí)現(xiàn)QPS監(jiān)控的完整代碼

    本文介紹了QPS(每秒查詢率)的概念,并討論了三種監(jiān)控方案:簡易版(AOP攔截器)、專業(yè)版(Micrometer+Prometheus)和豪華版(SpringBootAdmin),每種方案都有詳細(xì)的實(shí)施步驟,文章還介紹了QPS統(tǒng)計(jì)的進(jìn)階技巧,并強(qiáng)調(diào)了監(jiān)控系統(tǒng)的重要性,需要的朋友可以參考下
    2025-12-12
  • Spring?Boot?3.3?實(shí)現(xiàn)職責(zé)鏈模式輕松應(yīng)對(duì)電商訂單流程分析

    Spring?Boot?3.3?實(shí)現(xiàn)職責(zé)鏈模式輕松應(yīng)對(duì)電商訂單流程分析

    在電商系統(tǒng)中,訂單處理流程包括庫存校驗(yàn)、優(yōu)惠券驗(yàn)證、運(yùn)費(fèi)計(jì)算等多個(gè)步驟,這些步驟具有順序依賴性,為了管理這些業(yè)務(wù)邏輯,職責(zé)鏈模式提供了解決方案,通過鏈?zhǔn)疥P(guān)系將處理邏輯模塊化,實(shí)現(xiàn)解耦和靈活擴(kuò)展,本文將探討如何結(jié)合SpringBoot實(shí)現(xiàn)職責(zé)鏈模式,優(yōu)化電商訂單處理流程
    2024-10-10
  • 深入理解Java多線程與并發(fā)編程

    深入理解Java多線程與并發(fā)編程

    這篇文章主要介紹了Java多線程與并發(fā)編程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

SHOW| 满洲里市| 光泽县| 策勒县| 报价| 江华| 湟源县| 陈巴尔虎旗| 富裕县| 临夏县| 游戏| 从化市| 安福县| 县级市| 温泉县| 博兴县| 巴南区| 绵竹市| 呼伦贝尔市| 丹阳市| 镇坪县| 离岛区| 永和县| 宣化县| 上蔡县| 大新县| 庄浪县| 右玉县| 梁山县| 乐清市| 闽清县| 康保县| 涿鹿县| 那曲县| 绥江县| 旺苍县| 密云县| 临安市| 育儿| 石阡县| 龙口市|