MySQL配置返回集合标签_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.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配置文件如下所示:

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

select classID,className

from class_t

where classID = #{clazzID}

select stuID,stuName,stuAge,stuAddress,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]]]

到此这篇关于Mybatis中Collection集合标签的使用详解的文章就介绍到这了,更多相关Mybatis中Collection集合标签内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值