Mybatis 多表实现多对多查询、添加操作

本文介绍了如何使用 Mybatis 实现多对多关系的数据库设计,包括创建中间表,设计 Teacher 和 Student 实体类,编写 Mapper 接口和 XML 文件,以及进行单元测试。通过示例展示了如何进行多对多添加操作和单向多对多查询。文章总结了这一过程,鼓励读者进行讨论交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习内容:


1. 多对多之添加操作

1.1、需求

保存两个学生和两个老师,且这两个老师都教了这个两个学生。

1.2、数据库表(多对多数据库设计需要设计中间表)

  • 表设计
    在这里插入图片描述

1.3、类设计

  • Teacher 实体类
package com.yy.domain;
@Setter 
@Getter 
@ToString 
public class Teacher {
    
	private Long id; 
	private String name; 
}
  • Employee 实体类
package com.yy.domain;
@Setter 
@Getter 
@ToString 
public class Student {
    
private Long id; 
private String name; 
	// 关联属性 
	private List<Teacher> teachers = new ArrayList<>(); 
}

1.4、Mapper 接口和 Mapper XML 文件编写

注意: Mapper XML 放置的位置是在 resources 目录下。

  • TeacherMapper 接口
package com.yy.mapper;
public interface TeacherMapper {
    
	void save(Teacher teacher); 
}
  • TeacherMapper.xml 文件
<!--
	useGeneratedKeys=true 获取数据库保存数据的的主键值 
	keyProperty="id" 主键设置设置对象的 id 属性
--> 
<insert id="save" useGeneratedKeys="true" keyProperty="id"> 
	INSERT INTO teacher(name) VALUES(#{name}) 
</insert>
  • StudentMapper 接口
package com.yy.mapper;
public interface StudentMapper {
    
	void save
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值