当我们想要 多表查询的时候,例如 查 学生 的 学生卡 信息 我们有两种方法
1. 让学生卡 继承 学生 的类
<!-- 连接查询 一对一-->
<select id="queryStudentByNoOO" parameterType="int" resultType="studentCard">
select s.*,c.* from student s inner join studentcard c
on s.cardid=c.cardid
where s.sno=#{sno}
</select>
2.用MyBatis的 resultMap 来实现:
<!-- 连接查询 一对一-->
<select id="queryStudentByNoOO" parameterType="int" resultMap="student_card_map">
select s.*,c.* from student s inner join studentcard c
on s.cardid=c.cardid
where s.sno=#{sno}
</select>
<resultMap type="Student" id="student_card_map">
<id property="sno" column="sno"/>
<result property="sname" column="sname" />
<!-- 一对一 时用association-->
<association property="card" javaType="StudentCard">
<id property="cardid" column="cardid" />
<result property="cardinfo" column="cardinfo"/>
</association>
</resultMap>
测试结果:
附上 表信息: