Mybatis中Collection集合标签的使用详解

网友投稿 1357 2023-05-24

Mybatis中Collection集合标签的使用详解

Mybatis中Collection集合标签的使用详解

mybatis简单的CURD就不用多说了,网上相关博客文档一大堆。分析一下Mybatis里面的collection聚集查询。

假设一个班级有多名学生为例,通过班级号查询出该班级的信息,和班级里面的所有学生的信息,一般的做法就是通过班级号把班级的信息查询出来,再通过班级ID号把该班级里面的所有学生查询出来,我们不用这种通用的方法

1.班级实体类可以定义为这样:

import java.util.List;

public class ClazzEntity {

private int clazzID;

private String clazzName;

private List 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 getStudentList() {

return studentList;

}

public void setStudentList(List studentList) {

this.studentList = studentList;

}

}

学生实体类定义:

package com-.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)

);

http://

3.查询ClazzEntity中的学生信息列表StudentEntity,通过mybatis中的collection标签来配置,其中,ofType是查询返回的学生信息对应的实体类,select为要执行的查询学生列表的查询语句,mybatis的xml配置文件如下所示:

ofType="com-.hnust.pojo.StudentEntity" select="getStudentByClassID"/>

select classID,className

from class_t

where classID = #{clazzID}

select stuID,stuName,stuAge,stuAddhttp://ress,classID

from student_t

where classID = #{clazzID}

这样就可以查到一个班级的信息,和班级里面的所有学生信息:

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

ofType="com-.hnust.pojo.StudentEntity" select="getStudentByClassID"/>

select classID,className

from class_t

where classID = #{clazzID}

select stuID,stuName,stuAge,stuAddhttp://ress,classID

from student_t

where classID = #{clazzID}

这样就可以查到一个班级的信息,和班级里面的所有学生信息:

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot项目对数据库用户名密码实现加密过程解析
下一篇:Springboot访问html页面步骤解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~