MyBatis中怎么实现一对多查询和多对一查询
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇"MyBatis中怎么实现一对多查询和多对一查询"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一
千家信息网最后更新 2025年01月18日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 { ListgetStudentList(); 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); ListstudentList = 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 Liststudent;}
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安全错误
数据库的锁怎样保障安全
阿里未来网络安全
网络安全检查自查工作部署情况
哪个服务器最好
数据库设计技术
小学生网络安全竟赛
国外互联网科技网站
莱芜农村抽血数据库
游戏服务器分布式数据库
概念层的时序图有数据库吗
服务器怎么加大容量
杭州九匡网络技术
永兴安卓软件开发月薪
武汉麻将软件开发公司
网络安全风险评估和自查报告
管理服务器价格阿里巴巴
咸宁软件开发制作
如何开发一个平台软件开发
网络技术实践操作
软件开发测试肤质测评
南理878网络安全
字节跳动服务器硬件招聘
网络安全宣传周宣传手册
广东省教育厅网络安全宣传周
魔力宝贝如何设置代理服务器
南京企业网络安全准入控制系统
网络安全属于哪一层的威胁
金融网络安全宣传周策划方案
安徽计算机网络技术专升本难吗
校园网络安全宣传周活动总结报告
在服务器上的图片怎么被访问