04 mybatis一对多
发布日期:2022-03-30 20:19:36 浏览次数:24 分类:博客文章

本文共 2678 字,大约阅读时间需要 8 分钟。

本文将阐述mybatis中的表在一对多关系的情况下完成查询操作。

1、环境约束

  • win10 64位操作系统
  • idea2018.1.5
  • jdk-8u162-windows-x64
  • mybatis3.2.8
  • mysql 6.5

2、前提约束

  • 完成mybatis的延迟加载

3、操作

  • 创建一个班级表、学生表以及插入数据
create table t_class(id int, name varchar(20));insert into t_class(id,name) values(1,'java132');insert into t_class(id,name) values(2,'java133');create table t_stu(id int, name varchar(20),classid int);insert into t_stu(id,name,classid) values(1,'ali',1);insert into t_stu(id,name,classid) values(2,'zhangli',1);insert into t_stu(id,name,classid) values(3,'xiaoli',2);insert into t_stu(id,name,classid) values(4,'erli',2);
  • 加入两张表的实体类
    Clazz.java
package net.wanho.entity;import java.io.Serializable;import java.util.List;public class Clazz implements Serializable {    private int id;    private String name;    private List
students; public Clazz(int id, String name) { this.id = id; this.name = name; } public Clazz() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List
getStudents() { return students; } public void setStudents(List
students) { this.students = students; }}

Student.java

package net.wanho.entity;import java.io.Serializable;public class Student implements Serializable {    private int id;    private String name;    private int classid;    public Student(int id, String name, int classid) {        this.id = id;        this.name = name;        this.classid = classid;    }    public Student() {    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getClassid() {        return classid;    }    public void setClassid(int classid) {        this.classid = classid;    }}
  • 在UserMapper.java中加入方法声明
 
  • 在UserMapper.xml中加入标签
         
  • 测试
//关键代码String resource ="mybatis-config.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader);SqlSession sqlSession = sqlSessionFactory.openSession();UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List
clazzList = userMapper.queryClazz();System.out.println(clazzList);

以上就是mybatis中一对多查询的过程。

转载地址:https://www.cnblogs.com/alichengxuyuan/p/12554765.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:03 mybatis延迟加载
下一篇:06 spring中Configuration与Bean注解

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月29日 15时03分05秒