Mybatis学习笔记-一对一关联
2014-09-29 10:01
357 查看
Teacher.java实体类 。 对应数据库teacher表
Classes.java实体类 。 对应数据库class表
第一种方式
第二种方式
association 用于一对一的关联查询
property 对象属性的名称
javaType 对象属性的类型
column 所对应的外键字段的名称
select 使用另一个查询封装的结果
本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1559266
public class Teacher { private int id; private String name; //... }
Classes.java实体类 。 对应数据库class表
public class Classes { private int id; private String name; private Teacher teacher; //... }
第一种方式
<!-- 方式一:嵌套结果:使用嵌套结果映射来处理重复的联合结果的子集 封装联表查询的数据(去除重复的数据) select * from class c, teacher t where c.teacher_id=t.t_id and c.c_id=1 --> <select id="getClass" parameterType="int" resultMap="ClassResultMap"> select * from class c, teacher t where c.teacher_id=t.t_id and c.c_id=#{id} </select> <resultMap type="com.mybatis.test03.Classes" id="ClassResultMap"> <id property="id" column="c_id"/> <result property="name" column="c_name"/> <association property="teacher" javaType="com.mybatis.test03.Teacher"> <id property="id" column="t_id"/> <result property="name" column="t_name"/> </association> </resultMap>
第二种方式
<!-- 方式二:嵌套查询:通过执行另外一个SQL映射语句来返回预期的复杂类型 SELECT * FROM class WHERE c_id=1; SELECT * FROM teacher WHERE t_id=1 //1 是上一个查询得到的teacher_id的值 --> <select id="getClass2" parameterType="int" resultMap="ClassResultMap2"> select * from class where c_id=#{id} </select> <resultMap type="com.mybatis.test03.Classes" id="ClassResultMap2"> <id property="id" column="c_id" /> <result property="name" column="c_name" /> <association property="teacher" column="teacher_id" select="getTeacher"><!-- 映射到后面的getTeacher --> </association> </resultMap> <select id="getTeacher" parameterType="int" resultType="com.mybatis.test03.Teacher"> SELECT t_id id, t_name name FROM teacher WHERE t_id=#{id} </select>
association 用于一对一的关联查询
property 对象属性的名称
javaType 对象属性的类型
column 所对应的外键字段的名称
select 使用另一个查询封装的结果
本文出自 “优赛工作室” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1559266
相关文章推荐
- 表一对一关联([尚硅谷]_张晓飞_Mybatis 学习笔记三)
- Mybatis学习笔记(6)--一对一的关联使用resultType输出类型
- MyBatis学习笔记:一对一和一对多关联表查询
- mybatis学习笔记(四) --- 一对一关联
- mybatis学习笔记(九)一对一关联表查询
- Mybatis学习笔记-一对一关联
- Hibernate学习笔记_08_一对一单向、双向主键关联
- mybatis3.2.7学习笔记2_一对一、一对多、多对多、延时加载、缓存
- MyBatis学习(一)之一对一关联映射查询
- MyBatis学习笔记(四)---关联数据的查询
- Mybatis学习之一对一关联查询
- 【Mybatis学习笔记】系列之二:Mybatis双项一对多关联
- MyBatis笔记05 - 一对一关联查询
- MyBatis学习(五):MyBatis的一对一关联如何操作
- (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
- Mybatis学习笔记-一对多关联
- Hibernate视频学习笔记(4)多对一及一对一关联映射
- mybatis学习笔记三(实现关联数据的查询)
- MyBatis学习笔记(五)——实现关联表查询
- 【MyBatis学习笔记】系列之一:MyBatis多对多双向关联