MyBatis中怎么实现一对多查询和多对一查询
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"MyBatis中怎么实现一对多查询和多对一查询"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2026年11月02日MyBatis中怎么实现一对多查询和多对一查询
这篇"MyBatis中怎么实现一对多查询和多对一查询"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"MyBatis中怎么实现一对多查询和多对一查询"文章吧。
1、多对一
1、1环境搭建
数据库
CREATE TABLE teacher (id INT(10) NOT NULL,NAME VARCHAR(64) DEFAULT NULL,PRIMARY KEY (id),)ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT INTO teacher (id ,NAME) VALUES (1,'罗老师');CREATE TABLE student (id INT(10) NOT NULL,NAME VARCHAR(64) DEFAULT NULL,tid INT(10) DEFAULT NULL,PRIMARY KEY (id),KEY fktid (tid),CONSTRAINT fktid FOREIGN KEY (tid) REFERENCES teacher (id))ALTER TABLE student ENGINE=INNODB DEFAULT CHARSET=utf8;INSERT INTO student (id ,NAME ,tid) VALUES (1,'小明',1);INSERT INTO student (id ,NAME ,tid) VALUES (2,'小红',1);INSERT INTO student (id ,NAME ,tid) VALUES (3,'小张',1);INSERT INTO student (id ,NAME ,tid) VALUES (5,'小罗',1);
MyBatis.xml配置
1、2编写实体类、
学生·
@Datapublic class Student { private int id; private String name; private Teacher teacher;}老师·
@Datapublic class Teacher { private int id; private String name;}1、3编写接口方法
public interface StudentMapper { List getStudentList(); List getStudentList1();} 1、4编写Mapper
1、5实现
package com.Google.Dao;import com.Google.pojo.Student;import com.Google.units.sqlSessionFactory;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import java.util.List;public class StudentMapperText { @Test public void getStudent(){ SqlSession sqlSession = sqlSessionFactory.getsqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); List studentList = mapper.getStudentList(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); } @Test public void getStudent1(){ SqlSession sqlSession = sqlSessionFactory.getsqlSession(); StudentMapper mapper = sqlSession.getMapper(StudentMapper.class); List studentList = mapper.getStudentList1(); for (Student student : studentList) { System.out.println(student); } sqlSession.close(); }} 1、6运行结果
Student(id=1, name=小明, teacher=Teacher(id=0, name=罗老师))
Student(id=2, name=小红, teacher=Teacher(id=0, name=罗老师))
Student(id=3, name=小张, teacher=Teacher(id=0, name=罗老师))
Student(id=4, name=小王, teacher=Teacher(id=0, name=罗老师))
Student(id=5, name=小罗, teacher=Teacher(id=0, name=罗老师))
2、一对多
2、1环境搭建和一对多一样
2、2编写实体类
@Datapublic class Student { private int id; private String name; private int tid;}@Datapublic class Teacher { private int id; private String name; //一个老师拥有多个学生,给老师创建一个学生集合 private List student;} 2、3编写接口的方法
public interface TeacherMapper { Teacher getTeacher(@Param("tid") int id); Teacher getTeacher1(@Param("tid") int id);}2、4编写Mapper配置
2、5实现
public class TeacherMapperText { @Test public void getTeacher(){ SqlSession sqlSession = sqlSessionFactory.getsqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher = mapper.getTeacher(1); System.out.println(teacher); sqlSession.close(); } @Test public void getTeacher1(){ SqlSession sqlSession = sqlSessionFactory.getsqlSession(); TeacherMapper mapper = sqlSession.getMapper(TeacherMapper.class); Teacher teacher1 = mapper.getTeacher1(1); System.out.println(teacher1); sqlSession.close(); }}2、6运行结果
Teacher(id=1, name=罗老师, student=[Student(id=1, name=小明, tid=1), Student(id=2, name=小红, tid=1), Student(id=3, name=小张, tid=1), Student(id=4, name=小王, tid=1), Student(id=5, name=小罗, tid=1)])
以上就是关于"MyBatis中怎么实现一对多查询和多对一查询"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
老师
查询
内容
学生
小张
小明
小红
小罗
实体
接口
文章
方法
环境
知识
篇文章
结果
小王
运行
配置
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京欣网互联网络科技
上海睿民互联网科技有限公司
新华互联网科技学院
疫情对互联网科技公司影响
互联网科技的英文
银优互联网科技有限公司
天下捷融互联网科技
四川狮子座互联网科技
丰台科技园 互联网公司
新华互联网科技校企合作
互联网系的金融科技公司
贵州叶脉互联网科技有限公司所属行业
宁夏众和广鑫互联网科技有限公司
阿里互联网科技企业
伊宁互联网科技做什么的
互联网第三次科技革命特征
厦门江牛科技互联网
广西科技产业互联网是什么
瑞安市蟠桃会互联网科技有限公司
如何强化互联网金融科技
万达互联网科技
甘肃拓世互联网科技有限公司
互联网之后的科技是什么
互联网科技热点资讯
河南住房之家互联网科技
阿里互联网科技企业
山东子淼互联网科技有限公司
互联网公司高科技产品
互联网金融运营模式中的金融科技
上海旺乐尼互联网科技有限公司