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多对多关联映射的资料请关注脚本之家其它相关文章!

相关文章

  • Vscode中不再支持JDK8的原因分析及解决方案

    Vscode中不再支持JDK8的原因分析及解决方案

    这篇文章主要介绍了Vscode中不再支持JDK8的解决方案,本文给大家分享三种解决方案,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • springboot整合Excel填充数据代码示例

    springboot整合Excel填充数据代码示例

    这篇文章主要给大家介绍了关于springboot整合Excel填充数据的相关资料,文中通过代码示例介绍的非常详细,对大家学习或者使用springboot具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Java使用split截取字符串过程解析

    Java使用split截取字符串过程解析

    这篇文章主要介绍了Java使用split截取字符串过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Redis作为缓存应用的情形详细分析

    Redis作为缓存应用的情形详细分析

    实际开发中缓存处理是必须的,不可能我们每次客户端去请求一次服务器,服务器每次都要去数据库中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度
    2023-01-01
  • springboot3.2整合mybatis-plus详细代码示例

    springboot3.2整合mybatis-plus详细代码示例

    这篇文章主要给大家介绍了关于springboot3.2整合mybatis-plus的相关资料,Spring Boot是一个非常流行的Java Web框架,可以快速地搭建Web应用程序,需要的朋友可以参考下
    2023-12-12
  • Spring中RedisTemplate的基本使用浅析

    Spring中RedisTemplate的基本使用浅析

    Spring Boot Data(数据) Redis中提供了RedisTemplate和StringRedisTemplate,其中StringRedisTemplate是RedisTemplate的子类,两个方法基本一致。本文介绍了Spring操作Redis的方法,需要的可以参考一下
    2023-02-02
  • 在Spring中自动装配Bean的属性

    在Spring中自动装配Bean的属性

    今天小编就为大家分享一篇关于在Spring中自动装配Bean的属性,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • springboot中RestTemplate配置HttpClient连接池详解

    springboot中RestTemplate配置HttpClient连接池详解

    这篇文章主要介绍了springboot中RestTemplate配置HttpClient连接池详解,这些Http连接工具,使用起来都比较复杂,如果项目中使用的是Spring框架,可以使用Spring自带的RestTemplate来进行Http连接请求,需要的朋友可以参考下
    2023-11-11
  • Java中parallelStream().forEach()的踩坑日记

    Java中parallelStream().forEach()的踩坑日记

    本文主要介绍了Java中parallelStream().forEach()的踩坑日记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Springmvc ResponseBody响应json数据实现过程

    Springmvc ResponseBody响应json数据实现过程

    这篇文章主要介绍了Springmvc ResponseBody响应json数据实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论