mybatis一对一和一对多实例
一对一:<association></association>
一对多:<collection></collection>
ClassMapper.xml:
<resultMap type="com.taobaoo.school.domain.edu.XjClass" id="classMap">
<id property="id" column="class_id"/>
<result property="className" column="class_name"/>
<association property="school" javaType="com.taobaoo.school.domain.edu.School">
<id property="id" column="school_id"/>
<result property="schoolName" column="school_name"/>
</association>
<association property="grade" javaType="com.taobaoo.school.domain.edu.Grade">
<id property="id" column="grade_id"/>
<result property="gradeName" column="grade_name"/>
</association>
<association property="classTea" javaType="com.taobaoo.school.domain.edu.Teacher">
<id property="id" column="class_teacher_id"/>
<result property="name" column="class_teacher_name"/>
</association>
<collection property="teaList" ofType="com.taobaoo.school.domain.edu.Teacher">
<id property="id" column="sub_teacher_id"/>
<result property="name" column="sub_teacher_name"/>
<result property="subjectName" column="sub_name"/>
</collection>
</resultMap>
<select id="queryClass" resultMap="classMap">
select
cls.id AS class_id,
cls.class_name AS class_name,
school.id AS school_id,
school.school_name AS school_name,
grade.id AS grade_id,
grade.grade_name AS grade_name,
teacher.id AS class_teacher_id,
teacher.name AS class_teacher_name
from class cls
join grade on cls.grade_id=grade.id
join school on cls.school_id=school.id
join teacher on cls.teacher_id=teacher.id
</select>
Class.java:
private Long id;
private Grade grade; //1对1
private Teacher teacher; //1对1
Private List<Teacher> teaList; //1对多
//get/set省略...
mybatis一对一和一对多实例的更多相关文章
- mybatis 一对一与一对多collection和association的使用
在mybatis如何进行一对一.一对多的多表查询呢?这里用一个简单的例子说明. 一.一对一 1.association association通常用来映射一对一的关系,例如,有个类user,对应的实体 ...
- mybatis一对一 和 一对多 嵌套查询
实际项目中的,接口对外VO 会出现 一对一 和 一对多的情况,举例:小区 下面有 楼栋 ,楼栋 下面有 房屋 , 房屋里面又房间 小区Vo : districtVo { id: nam ...
- Mybatis一对一,一对多
一对一 假如有student表(学生表)和student_card表(学生证表). student表中有一个字段self_card用来查student_card,student_card表中有一个st ...
- Mybatis 一对一、一对多、多对多
一对一返回resultType <!-- 查询订单关联查询用户信息 resultType --> <select id="findOrderCustom" res ...
- 【转】mybatis 一对一与一对多collection和association的使用
转自:https://www.cnblogs.com/yansum/p/5819973.html (有修改和补充,红色字体部分) 在mybatis如何进行一对一.一对多的多表查询呢?这里用一个简单 ...
- Mybatis一对一、一对多、多对多查询。+MYSQL
场景:使用三张数据表:student学生表.teacher教师表.position职位表 一个学生可以有多为老师.一位老师可以有多个学生.但是一个老师只能有一个职位:教授.副教授.讲师:但是一个职位可 ...
- Mybatis 一对一、一对多、多对多关联之级联添加
示例项目:MIPO_CRM 一.一对一关联 示例:订单与销售机会 描述:在业务员与客户的联系人的联系记录中可以生成一条销售机会,而此条销售机会可生成一条订单,两者呈一对一关联. 1.表设计 oppor ...
- Mybatis 一对一,一对多,多对一,多对多的理解
First (一对一) 首先我来说下一对一的理解,就是一个班主任只属于一个班级,一个班级也只能有一个班主任.好吧这就是对于一对一的理解 怎么来实现呢? 这里我介绍了两种方式: 一种是:使用嵌套结果映射 ...
- Mybatis一对一和一对多配置
作者:夕下奕林 问题描述 现在有三张数据表,表名为orders,orderdetail,items,分别表示订单,订单详情,商品. 其中一个订单包含多个订单详情,表示订单中的不同个具体的商品,订单详情 ...
随机推荐
- Git如何获得两个版本间所有变更的文件列表
https://segmentfault.com/q/1010000000133613 git diff --name-status HEAD~2 HEAD~3
- Java多线程之锁优化策略
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6561264.html 锁的优化策略 编码过程中可采取的锁优化的思路有以下几种: 1:减少锁持有时间 例如:对 ...
- Java多线程之ReadWriteLock读写锁简介与使用教程
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6558073.html 普通的锁在对某一内容加锁后,其他线程是不能访问的.但是我们要考虑这种情况:如果当前加锁 ...
- Linux使用笔记
1:Ubuntu系统获取超级权限: 在终端输入:sudo passwd,重置uinx密码.然后输入 su ,输入密码,即可进入root权限. 2:更改文件属性 Linux文件的基本权限有九个,分别是o ...
- Android开发经典笔试面试题汇总(持续更新中)
1.我们都知道Handler是线程与Activity通信的桥梁,假设线程处理不当.你的机器就会变得非常慢,那么线程销毁的方法是:(A) A. onDestroy() B. onClear() C. o ...
- java 从spring容器中获取注入的bean对象
java 从spring容器中获取注入的bean对象 CreateTime--2018年6月1日10点22分 Author:Marydon 1.使用场景 控制层调用业务层时,控制层需要拿到业务层在 ...
- 查询后n条记录
查询后n条记录 SELECT * FROM tb_stu ORDER BY id ASC LIMIT n
- 微信扫码支付springboot版本
发布时间:2018-11-06 技术:springboot+freemarker 概述 该项目是一个采用springboot构建的web项目,主要实现了微信扫码支付功能.包含最基本的创建订单, ...
- springboot+mybatis+maven角色权限框架
发布时间:2018-10-24 技术:springboot,mybatis,maven,shiro 概述 Springboot作为基础框架,使用mybatis作为持久层框架 使用官方推荐的th ...
- Windows下的包管理器Chocolatey的使用
1.配置安装路径(后续需要管理员权限执行命令) Create a machine level (user level will also work) environment variable name ...