色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:110日期:2023-10-23 18:33:28

mybatis簡單的CURD就不用多說了,網上相關博客文檔一大堆。分析一下Mybatis里面的collection聚集查詢。 假設一個班級有多名學生為例,通過班級號查詢出該班級的信息,和班級里面的所有學生的信息,一般的做法就是通過班級號把班級的信息查詢出來,再通過班級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.數據庫建表語句:

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是查詢返回的學生信息對應的實體類,select為要執行的查詢學生列表的查詢語句,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 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 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 resultMap='ClazzResultMap' parameterType='java.lang.Integer' > select classID,className from class_t where classID = #{clazzID}</select><select 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]]]

到此這篇關于Mybatis中Collection集合標簽的使用詳解的文章就介紹到這了,更多相關Mybatis中Collection集合標簽內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 精品国产一区二区三区久久 | 国产一成人精品福利网站 | 亚洲在线观看免费 | 成人免费观看高清在线毛片 | 特级毛片aaa免费版 特级毛片a级毛免费播放 | 久久精品一区二区三区四区 | 欧美性欲视频 | 国内精品伊人久久久久妇 | 日韩精品一区二区三区毛片 | 国产欧美日韩在线观看 | 91久久国产口精品久久久久 | 亚洲日本一区二区三区高清在线 | 色偷偷亚洲精品一区 | 久久久久久日本一区99 | 国产成人亚洲综合欧美一部 | 国产三级在线观看免费 | 2021国产精品系列一区二区 | 成人免费xxxxx在线视频 | 宅男毛片| 99久久免费看国产精品 | 在线精品一区二区三区 | 国产三级小视频在线观看 | 男女午夜视频 | 亚洲福利影视 | www日本高清 | 国产大片在线看 | 自拍成人 | 男人的天堂2018 | 搞黄网站免费观看 | 老司机精品影院一区二区三区 | 亚洲国产一区二区三区最新 | 视频一区精品 | 免费福利在线看黄网站 | 日韩中文字幕免费 | 一级做a爱视频 | 亚洲激情欧美 | 国产激情一区二区三区成人91 | 国产色视频一区二区三区 | 欧美的高清视频在线观看 | 国产国语在线播放视频 | a级网站在线观看 |