mybatis:多表查询级联查询

mybatis多表查询

※利用Set类,将scores类封装进student类,进行级联查询!查询出来还是student对象,对象里含有一个HashSet<Scores>用来存放scores对象。

※resultMap高级映射。<association>来从数据库返回值在里面编写一对多的配置。

1.准备两张mysql的数据库表t_student、t_scores

在这里插入图片描述

2.创建对应的entity(pojo\bean)类

此处略,根据数据库自己建立
在这里插入图片描述

3.Mapper接口添加一个方法

在这里插入图片描述

4.对应的映射文件的配置文件xml

在这里插入图片描述
在这里插入图片描述

	<resultMap id="studentScoresMap" type="student">
		<id property="stuID" column="stuID"/>
		<result property="name" column="name" />
		<result property="birthday" column="birthday" />
		<result property="sex" column="sex" />
		<association property="scoresSet" javaType="Scores">
			<result property="id" column="id"/>
			<result property="math" column="math"/>
		</association>
	</resultMap>
	<!-- 查询 -->
	<select id="selectStudentByIdWithScores" parameterType="string"
		resultMap="studentScoresMap" >
		select
		<include refid="all"></include>,id,math
		from t_student inner join t_scores
		on t_student.stuID=t_scores.stuID
		 where t_student.stuID = #{stuID}
	</select>

5.Test类测试,略~~~

left.join只取得一条数据

select 
	product.id, uid, u_name, u_sex, u_credit, name, category, origin_price, current_price, quality, place,
	 telephone, delivery, description, edit_time, count, lat, lon ,picture.id pic_id,pid,picurl
from product 
left join 
(select MAX(picture.id) as id,pid,picurl from picture group by pid) picture 
on product.id=picture.pid 
where
1=1
limit 0,20 ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值