Mybatis一对多关联查询详解

Mybatis一对多关联查询详解要点在 Student 类中添加 List Classes classList 属性在 Classes 类中添加 List Student students 属性在 ClassesMappe xml 中 resultMap collectionof Student collectionof Student resultMap 在 StudentMappe xml 中 resultMap resultMap Student Classes

要点


在Student类中添加List

classList 属性

在Classes类中添加List

students属性




在ClassesMapper.xml中

1.创建数据表

Mybatis一对多关联查询详解

classes表

Mybatis一对多关联查询详解

2.创建实体类

Student:

package com.ytsky.mybatis.demo.entity; import java.util.List; public class Student { private int id; private String stuno; private String stuname; private String sex; private String classno; private List 
   
     classesList; public int getId() { return id; } public void setId(int id) { this.id = id; } public List 
    
      getClassesList() { return classesList; } public void setClassesList(List 
     
       classesList) { this.classesList = classesList; } public String getStuno() { return stuno; } public void setStuno(String stuno) { this.stuno = stuno; } public String getStuname() { return stuname; } public void setStuname(String stuname) { this.stuname = stuname; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getClassno() { return classno; } public void setClassno(String classno) { this.classno = classno; } @Override public String toString() { return "Student{" + "id=" + id + ", stuno='" + stuno + '\'' + ", stuname='" + stuname + '\'' + ", sex='" + sex + '\'' + ", classno='" + classno + '\'' + ", classesList=" + classesList + '}'; } } 
      
     
   

Classes:

package com.ytsky.mybatis.demo.entity; import java.util.List; public class Classes { private int id; private String classno; private String name; private String major; private List 
   
     students; public List 
    
      getStudents() { return students; } public void setStudents(List 
     
       students) { this.students = students; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getClassno() { return classno; } public void setClassno(String classno) { this.classno = classno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } @Override public String toString() { return "Classes{" + "id=" + id + ", classno='" + classno + '\'' + ", name='" + name + '\'' + ", major='" + major + '\'' + ", students=" + students + '}'; } } 
      
     
   

3.创建映射文件 

 ClassesMapper.xml

 
    
    
     
     
      
      
      
      
      
       
       
       
       
      
     
    

StudentMapper.xml

 
    
    
     
     
      
      
      
      
      
      
       
       
       
       
      
     
    

mybatis-config.xml

 
    
    
     
     
      
      
     
     
     
     
     
      
     
     
      
     
     
      
       
       
        
        
        
        
       
      
     
     
      
      
      
      
      
      
     
    

4.创建数据操作接口

ClassesMapper:

package com.ytsky.mybatis.demo.dao; import com.ytsky.mybatis.demo.entity.Classes; import java.util.List; public interface ClassesMapper { List 
   
     selectClassesWithStudent(); } 
   

StudentMapper:

package com.ytsky.mybatis.demo.dao; import com.ytsky.mybatis.demo.entity.Student; import java.util.List; public interface StudentMapper { List 
   
     selectStudentWithClasses(); int updateById(Student student); } 
   

5.编写测试类

Test1:

package com.ytsky.mybatis.demo.test1; import com.ytsky.mybatis.demo.dao.ClassesMapper; import com.ytsky.mybatis.demo.dao.StudentMapper; import com.ytsky.mybatis.demo.entity.Classes; import com.ytsky.mybatis.demo.entity.Student; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.util.List; public class Test1 { private static SqlSessionFactory factory; static { try{ factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml")); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { // System.out.println(findClassesWithStudent()); System.out.println(findStudentWithClasses()); } public static List 
   
     findClassesWithStudent(){ SqlSession session = factory.openSession(); List 
    
      classes = session.getMapper(ClassesMapper.class).selectClassesWithStudent(); session.close(); return classes; } public static List 
     
       findStudentWithClasses(){ SqlSession session = factory.openSession(); List 
      
        students = session.getMapper(StudentMapper.class).selectStudentWithClasses(); session.close(); return students ; } } 
       
      
     
   

6.运行结果

Mybatis一对多关联查询详解

 Mybatis一对多关联查询详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209766.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:28
下一篇 2026年3月19日 上午8:28


相关推荐

  • hdfs 版本号_如何查看hadoop版本

    hdfs 版本号_如何查看hadoop版本展开全部通过在集群上执行 e58685e5aeb6 命令可以查看对应的 hadoop 的版本 查看 hadoop 集群的位数 执行 cd HADOOP HOME lib nativefileli so 1 0 0Hadoop 属于一个能够对大量数据进行分布式处理的软件

    2026年3月17日
    2
  • js生成二维码,扫码实现跳转_如何把一个链接生成二维码

    js生成二维码,扫码实现跳转_如何把一个链接生成二维码<!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”><htmlxmlns=”http://www.w3.org/1999/xhtml”xml:lang=”ko”lang=”ko”&gt…

    2022年10月17日
    4
  • FFmpeg&FFplay常用命令汇总

    FFmpeg&FFplay常用命令汇总1 FFmpeg 常用命令帮助指令 1 查看基本帮助信息 ffmpeg h2 查看高级帮助信息 ffmpeg hlong3 查看所有帮助信息 ffmpeg hfull 若帮助信息过多 查看不便 可以把帮助信息保存到文件 然后再打开文件查看 如 ffmpeg hfull gt fullhelp log 查询版本查询命令 ffmpeg version 查询编译配置查询命令 ffmpeg buildconf 查询可用格式查询命令 ffmpeg formats 查询可

    2026年3月16日
    2
  • navivat 15在线激活码【中文破解版】

    (navivat 15在线激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    62
  • 访问ftp服务器的命令_ftp命令查看文件内容

    访问ftp服务器的命令_ftp命令查看文件内容服务端域客户端登录到FTP服务器时,你可以看到服务端的文件,这个时候就要有一个区分,一个是服务端,一个是客户端,你发起连接的这台电脑就叫做客户端,要连接的FTP服务器就叫做服务端服务端目录:服务器所共享的目录,下载文件时从此目录找到对应的文件下载到本地目录本地目录:本地客户端所在的目录,上传时从此目录找到对应的文件上传到服务端目录ftp命令ftp命令用于连接ftp服务器,连接登录即可进行下载上传等操作。在连接到服务器的时候命令格式ftp[主机名]命令作用ftp进入

    2026年2月7日
    4
  • 华为提出构建Agent-Oriented移动网络,全面拥抱智能体世界

    华为提出构建Agent-Oriented移动网络,全面拥抱智能体世界

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号