MyBatis多对多关联映射创建示例
更新时间:2022年06月06日 16:35:17 作者:云淡风轻58
这篇文章主要为大家介绍了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多对多关联映射的资料请关注脚本之家其它相关文章!
相关文章
springboot3.2整合mybatis-plus详细代码示例
这篇文章主要给大家介绍了关于springboot3.2整合mybatis-plus的相关资料,Spring Boot是一个非常流行的Java Web框架,可以快速地搭建Web应用程序,需要的朋友可以参考下2023-12-12springboot中RestTemplate配置HttpClient连接池详解
这篇文章主要介绍了springboot中RestTemplate配置HttpClient连接池详解,这些Http连接工具,使用起来都比较复杂,如果项目中使用的是Spring框架,可以使用Spring自带的RestTemplate来进行Http连接请求,需要的朋友可以参考下2023-11-11Java中parallelStream().forEach()的踩坑日记
本文主要介绍了Java中parallelStream().forEach()的踩坑日记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-06-06Springmvc ResponseBody响应json数据实现过程
这篇文章主要介绍了Springmvc ResponseBody响应json数据实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-10-10
最新评论