MyBatis中怎么实现一对多查询和多对一查询
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇"MyBatis中怎么实现一对多查询和多对一查询"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年11月15日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安全错误
数据库的锁怎样保障安全
山西企业软件开发要求
高速公路服务器充电桩生产厂家
ip网络技术课件
E先锋服务器地址
吉林智能网络技术服务质量推荐
网络安全渗透测试工程师招聘风口
数据库的安全很复杂
计算机怎么执行数据库语言
镇江海航软件开发诚信服务
计算机网络技术二建
将数据库的结构分为多个
山东微分销软件开发
网络安全维护中心
windows软件开发报价
it软件开发面试
wamp的数据库初始密码
宇信科技成立互联网小贷公司
地球无法连接到数据库
服务器修改本地远程端口号
一码通和服务器的区别
天龙小蜜登录连接服务器慢
综合运用现代网络技术
关系数据库的设计包括什么
关于网络安全的资料图片
服务器续保申请
商水县人民医院网络安全中标
苏州市网络安全宣传周开放日
服务器维护时间多长
服务器虚拟化需求分析
安徽网络安全沙龙