MyBatis多对多关联映射创建示例
作者:云淡风轻58 时间:2023-08-09 06:40:10
示例
【通过班级查询老师信息】
创建t_classes
创建t_classessTeacher
创建t_teacher
创建Classes
package com.po;
import java.util.List;
public class Classes {
private Integer cid;
private String cname;
private List<Teacher> teachers;
public Integer getCid() {
return cid;
}
public void setCid(Integer cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public List<Teacher> getTeachers() {
return teachers;
}
public void setTeachers(List<Teacher> teachers) {
this.teachers = teachers;
}
@Override
public String toString() {
return "Classes [cid=" + cid + ", cname=" + cname + ", teachers=" + teachers + "]";
}
}
创建Teacher
package com.po;
import java.util.List;
public class Teacher {
private Integer tid;
private String tname;
private List<Classes> classes;
public Integer getTid() {
return tid;
}
public void setTid(Integer tid) {
this.tid = tid;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
public List<Classes> getClasses() {
return classes;
}
public void setClasses(List<Classes> classes) {
this.classes = classes;
}
@Override
public String toString() {
return "Teacher [tid=" + tid + ", tname=" + tname + "]";
}
}
创建ClassesMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.ClassesMapper">
<!-- 自定义结果映射 -->
<resultMap type="com.po.Classes" id="ClassesWithTeacherResult">
<id property="cid" column="cid"/>
<result property="cname" column="cname"/>
<!-- 多表关联映射 -->
<collection property="teachers" ofType="com.po.Teacher">
<id property="tid" column="tid"/>
<result property="tname" column="tname"/>
</collection>
</resultMap>
<select id="findClassesWithTeacher" parameterType="Integer" resultMap="ClassesWithTeacherResult">
select * from t_classes c,t_teacher t,t_classessTeacher ct
where ct.cid=c.cid
and ct.tid=t.tid
and c.cid=#{cid}
</select>
</mapper>
配置mybatis-config.xml
<!-- 配置Mapper的位置 -->
<mappers>
<mapper resource="com/mapper/ClassesMapper.xml"/>
</mappers>
创建ClassesDao
package com.dao;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import com.factory.SessionFactory;
import com.po.Classes;
public class ClassesDao {
private SqlSession session=SessionFactory.getSqlSession();
@Test
public void findClassesWithTeacher() {
Classes classess=session.selectOne("com.mapper.ClassesMapper.findClassesWithTeacher", 1);
System.out.println(classess);
}
}
执行 findClassesWithTeacher()方法
来源:https://blog.csdn.net/dwenxue/article/details/82108178#comments_19560534
标签:MyBatis,多对多,关联映射
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Springmvc加ajax实现上传文件并页面局部刷新
2023-07-31 09:26:47
![](https://img.aspxhome.com/file/2023/2/85512_0s.png)
Java使用贪心算法解决电台覆盖问题(示例详解)
2022-12-31 05:58:48
C语言中魔性的float浮点数精度问题
2022-08-12 08:59:26
如何通过Battery Historian分析Android APP耗电情况
2023-07-19 12:55:19
![](https://img.aspxhome.com/file/2023/8/125358_0s.jpg)
Android 支付宝支付、微信支付、银联支付 整合第三方支付接入方法(后台订单支付API设计)
2023-08-28 01:36:01
![](https://img.aspxhome.com/file/2023/0/139530_0s.png)
Android中通过样式来去除app的头及界面全屏(备忘)的实现方法
2023-07-30 00:03:23
Android App开发中创建Fragment组件的教程
2022-05-18 04:34:38
Unity3d实现跑马灯广播效果
2022-11-13 20:08:12
![](https://img.aspxhome.com/file/2023/7/122657_0s.jpg)
Java环境下高德地图Api的使用方式
2022-06-13 06:43:59
![](https://img.aspxhome.com/file/2023/6/85826_0s.jpg)
C#限速下载网络文件的方法实例
2023-07-01 01:33:15
![](https://img.aspxhome.com/file/2023/3/104323_0s.jpg)
JAVA面试题 从源码角度分析StringBuffer和StringBuilder的区别
2023-07-24 07:29:07
![](https://img.aspxhome.com/file/2023/3/95463_0s.png)
Android RecyclerView网格布局示例解析
2023-03-04 00:49:44
![](https://img.aspxhome.com/file/2023/4/117134_0s.png)
Java中logback 自动刷新不生效的问题解决
2022-09-07 21:26:04
![](https://img.aspxhome.com/file/2023/8/68558_0s.png)
JAVA实现PDF转HTML文档的示例代码
2021-10-18 12:47:00
![](https://img.aspxhome.com/file/2023/9/125629_0s.jpg)
android 触屏的震动响应接口调用方法
2021-08-04 08:33:34
Android 开发随手笔记之使用摄像头拍照
2023-01-31 05:17:22
MyBatis Oracle 自增序列的实现方法
2023-08-03 11:30:08
Java Code Cache满导致应用性能降低问题解决
2021-06-18 18:17:56
C#获取存储过程返回值和输出参数值的方法
2021-10-19 14:45:22
浅谈Gradle 常用配置总结
2023-02-03 11:04:06
![](https://img.aspxhome.com/file/2023/1/137211_0s.png)