MyBatis多对多关联映射创建示例

作者:云淡风轻58 时间:2023-08-09 06:40:10 

示例

【通过班级查询老师信息】

创建t_classes

MyBatis多对多关联映射创建示例

创建t_classessTeacher

MyBatis多对多关联映射创建示例

创建t_teacher

MyBatis多对多关联映射创建示例

创建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()方法

MyBatis多对多关联映射创建示例

来源:https://blog.csdn.net/dwenxue/article/details/82108178#comments_19560534

标签:MyBatis,多对多,关联映射
0
投稿

猜你喜欢

  • Springmvc加ajax实现上传文件并页面局部刷新

    2023-07-31 09:26:47
  • 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
  • Android 支付宝支付、微信支付、银联支付 整合第三方支付接入方法(后台订单支付API设计)

    2023-08-28 01:36:01
  • Android中通过样式来去除app的头及界面全屏(备忘)的实现方法

    2023-07-30 00:03:23
  • Android App开发中创建Fragment组件的教程

    2022-05-18 04:34:38
  • Unity3d实现跑马灯广播效果

    2022-11-13 20:08:12
  • Java环境下高德地图Api的使用方式

    2022-06-13 06:43:59
  • C#限速下载网络文件的方法实例

    2023-07-01 01:33:15
  • JAVA面试题 从源码角度分析StringBuffer和StringBuilder的区别

    2023-07-24 07:29:07
  • Android RecyclerView网格布局示例解析

    2023-03-04 00:49:44
  • Java中logback 自动刷新不生效的问题解决

    2022-09-07 21:26:04
  • JAVA实现PDF转HTML文档的示例代码

    2021-10-18 12:47:00
  • 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
  • asp之家 软件编程 m.aspxhome.com