这篇文章主要为大家介绍了MyBatis多对多关联映射的创建示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
示例
【通过班级查询老师信息】
创建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()方法
以上就是MyBatis多对多关联映射创建示例的详细内容,更多关于MyBatis多对多关联映射的资料请关注编程学习网其它相关文章!
织梦狗教程
本文标题为:MyBatis多对多关联映射创建示例


基础教程推荐
猜你喜欢
- Java File类的概述及常用方法使用详解 2023-05-18
- Project Reactor源码解析publishOn使用示例 2023-04-12
- 用java实现扫雷游戏 2022-12-06
- SpringBoot配置文件中密码属性加密的实现 2023-03-11
- 全局记录Feign的请求和响应日志方式 2023-01-09
- Java使用EasyExcel进行单元格合并的问题详解 2023-01-18
- Java去掉小数点后面无效0的方案与建议 2023-02-18
- 一文了解Java 线程池的正确使用姿势 2023-06-17
- JVM分析之类加载机制详解 2023-04-06
- 工厂方法在Spring框架中的运用 2023-06-23