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

Mybatis中Collection集合標簽的使用詳解

 更新時間:2020年06月16日 11:16:51   作者:Run4U  
這篇文章主要介紹了Mybatis中Collection集合標簽的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

mybatis簡單的CURD就不用多說了,網(wǎng)上相關(guān)博客文檔一大堆。分析一下Mybatis里面的collection聚集查詢。
假設(shè)一個班級有多名學生為例,通過班級號查詢出該班級的信息,和班級里面的所有學生的信息,一般的做法就是通過班級號把班級的信息查詢出來,再通過班級ID號把該班級里面的所有學生查詢出來,我們不用這種通用的方法

1.班級實體類可以定義為這樣:

import java.util.List;

public class ClazzEntity {

  private int clazzID;

  private String clazzName;

  private List<StudentEntity> studentList;

  public int getClassID() {
    return clazzID;
  }

  public int getClazzID() {
    return clazzID;
  }

  public void setClazzID(int clazzID) {
    this.clazzID = clazzID;
  }

  public String getClazzName() {
    return clazzName;
  }

  public void setClazzName(String clazzName) {
    this.clazzName = clazzName;
  }

  public List<StudentEntity> getStudentList() {
    return studentList;
  }

  public void setStudentList(List<StudentEntity> studentList) {
    this.studentList = studentList;
  }
}

學生實體類定義:

package com.cn.hnust.pojo;

public class StudentEntity {

  private int stuID;

  private String stuName;

  private int stuAge;

  private String stuAddress;

  public int getStuID() {
    return stuID;
  }

  public void setStuID(int stuID) {
    this.stuID = stuID;
  }

  public String getStuName() {
    return stuName;
  }

  public void setStuName(String stuName) {
    this.stuName = stuName;
  }

  public int getStuAge() {
    return stuAge;
  }

  public void setStuAge(int stuAge) {
    this.stuAge = stuAge;
  }

  public String getStuAddress() {
    return stuAddress;
  }

  public void setStuAddress(String stuAddress) {
    this.stuAddress = stuAddress;
  }
}

2.數(shù)據(jù)庫建表語句:

CREATE TABLE student_t
(
stuno INT PRIMARY KEY,
stuname VARCHAR(20),
stuage INT,
stuaddress VARCHAR(20) ,
classid INT
);
CREATE TABLE class_t
(
classid INT PRIMARY KEY,
classname VARCHAR(20)
);

3.查詢ClazzEntity中的學生信息列表StudentEntity,通過mybatis中的collection標簽來配置,其中,ofType是查詢返回的學生信息對應(yīng)的實體類,select為要執(zhí)行的查詢學生列表的查詢語句,mybatis的xml配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.cn.hnust.dao.InfoManageDao" >

 <resultMap id="ClazzResultMap" type="com.cn.hnust.pojo.ClazzEntity" >
  <id column="classID" property="clazzID" jdbcType="INTEGER" />
  <result column="className" property="clazzName" jdbcType="VARCHAR" />
  <collection property="studentList" column="classID" javaType="ArrayList" 
        ofType="com.cn.hnust.pojo.StudentEntity" select="getStudentByClassID"/>
 </resultMap>

 <resultMap id="StudentResultMap" type="com.cn.hnust.pojo.StudentEntity"> 
  <id property="stuID" column="stuID" /> 
  <result property="stuName" column="stuName" /> 
  <result property="stuAge" column="stuAge" /> 
  <result property="stuAddress" column="stuAddress" />
 </resultMap> 

<select id="getClassByID" resultMap="ClazzResultMap" parameterType="java.lang.Integer" >
  select classID,className
  from class_t
  where classID = #{clazzID}
</select>

<select id="getStudentByClassID" resultMap="StudentResultMap" parameterType="java.lang.Integer" >
  select stuID,stuName,stuAge,stuAddress,classID
  from student_t
  where classID = #{clazzID}
</select>

</mapper>

這樣就可以查到一個班級的信息,和班級里面的所有學生信息:

ClazzEntity [clazzID=1, clazzName=junior, studentList=[StudentEntity [stuID=1001, stuName=wanghai, stuAge=18, stuAddress=beijing], StudentEntity [stuID=1002, stuName=zhangdong, stuAge=20, stuAddress=shanghai]]]

到此這篇關(guān)于Mybatis中Collection集合標簽的使用詳解的文章就介紹到這了,更多相關(guān)Mybatis中Collection集合標簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?Spring的啟動原理詳解

    java?Spring的啟動原理詳解

    大家好,本篇文章主要講的是java?Spring的啟動原理詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 在Mybatis中association標簽多層嵌套的問題

    在Mybatis中association標簽多層嵌套的問題

    這篇文章主要介紹了在Mybatis中association標簽多層嵌套的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java實現(xiàn)中國象棋的示例代碼

    Java實現(xiàn)中國象棋的示例代碼

    中國象棋是起源于中國的一種棋,屬于二人對抗性游戲的一種,在中國有著悠久的歷史。由于用具簡單,趣味性強,成為流行極為廣泛的棋藝活動。本文將利用Java實現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-02-02
  • 從Spring遷移到Spring Boot的方法步驟

    從Spring遷移到Spring Boot的方法步驟

    這篇文章主要介紹了從Spring遷移到Spring Boot的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • IDEA中JetBrains Mono字體的正確安裝姿勢

    IDEA中JetBrains Mono字體的正確安裝姿勢

    在 JetBrains Mono 的設(shè)計階段,它就充分考慮到了長時間工作可能導致的眼睛疲勞問題,比如字母的大小和形狀、空間量、自然等寬平衡、不必要的細節(jié)、連字、以及難以區(qū)分的符號等,從而最終設(shè)計出了這么一款字體
    2021-06-06
  • SpringBoot整合spring-retry實現(xiàn)接口請求重試機制及注意事項

    SpringBoot整合spring-retry實現(xiàn)接口請求重試機制及注意事項

    今天通過本文給大家介紹我們應(yīng)該如何使用SpringBoot來整合spring-retry組件實現(xiàn)重試機制及注意事項,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-08-08
  • java處理解析帶有反斜杠的json

    java處理解析帶有反斜杠的json

    在Java中操作JSON數(shù)據(jù)是一項常見的任務(wù),其中一個常見的問題是如何在JSON字符串中包含反斜杠,本文主要介紹了java處理解析帶有反斜杠的json,感興趣的可以了解一下
    2024-01-01
  • java類中使用Jfreechart的簡單實例

    java類中使用Jfreechart的簡單實例

    這篇文章介紹了java類中使用Jfreechart的簡單實例,有需要的朋友可以參考一下
    2013-08-08
  • Springboot搭建JVM監(jiān)控(Springboot + Prometheus + Grafana)

    Springboot搭建JVM監(jiān)控(Springboot + Prometheus +&n

    在應(yīng)用開發(fā)時,監(jiān)控報警必不可少,本文主要介紹了Springboot搭建JVM監(jiān)控(Springboot + Prometheus + Grafana),具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • springboot整合redis實現(xiàn)發(fā)送郵箱并驗證

    springboot整合redis實現(xiàn)發(fā)送郵箱并驗證

    大家好,本篇文章主要講的是springboot整合redis實現(xiàn)發(fā)送郵箱并驗證,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論

吉隆县| 丰城市| 舟山市| 镇远县| 闽侯县| 钟祥市| 凤台县| 噶尔县| 昌吉市| 泾阳县| 云林县| 嘉祥县| 清河县| 秦皇岛市| 邳州市| 伊通| 灵武市| 东平县| 游戏| 孟村| 滁州市| 万荣县| 上思县| 延吉市| 奈曼旗| 旺苍县| 卓资县| 饶河县| 诸暨市| 南阳市| 左贡县| 乐都县| 乾安县| 勃利县| 历史| 青海省| 应用必备| 古田县| 屏山县| 富民县| 龙里县|