MyBatis 一对一关联查询

当我们想要 多表查询的时候,例如 查 学生 的 学生卡 信息 我们有两种方法

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>

测试结果:

附上 表信息:

发布了69 篇原创文章 · 获赞 5 · 访问量 2219

猜你喜欢

转载自blog.csdn.net/qq_42139889/article/details/103374286