mybatis多表查询时,查询对象查询为空

今天在做一个增删改功能时候,用到了mybatis的accociation 关联了用户信息,地区信息,但是一直回显不成功,发现查询的用户信息,地区信息为空。

mapper中这样写的

<select id="getAllDeviceList" resultMap="TbDevice">
	select *
	from
	<include refid="tb_device"></include> d
	left join <include refid="tb_user"></include> u 
	on d.user_id=u.id
	left join <include refid="tb_region"></include> r
	on d.region_id=r.region_id 
</select>

这样,device这个pojo中关联的user信息,region信息查询不出来。

经过研究发现,返回值类型应该是映射的 resultMap ,而不是直接映射到pojo

<select id="getAllDeviceList" resultMap="DeviceWithRegionBaseResultMap">
	select *
	from
	<include refid="tb_device"></include> d
	left join <include refid="tb_user"></include> u 
	on d.user_id=u.id
	left join <include refid="tb_region"></include> r
	on d.region_id=r.region_id 
</select>

这样的话就可以根据accociation关联的user_id,region_id.查询出用户信息,地区信息了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值