您的位置:首页 > 其它

Mybatis学习笔记-一对一关联

2016-02-04 11:03 465 查看
Teacher.java实体类 。 对应数据库teacher表
Classes.java实体类 。 对应数据库class表public class Classes {
private int id;
private String name;
private Teacher teacher;
//...
}







第一种方式

第二种方式	<!-- 方式二:嵌套查询:通过执行另外一个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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: