Mybatis中关联查询——association分步查询中出错

在表关联映射的xml文件中操作

  1. 查询第一个表的数据
 <select id="getUserByIdStep" resultMap="MyUserByStep">
 	select * from user where id=#{id}
 </select>
  1. 设置resultMap
<resultMap type="com.atBing.bean.User" id="MyUserByStep">
 	<id column="id" property="id"/>
 	<result column="name" property="name"/>
 	<result column="passwd" property="passwd"/>
 	<result column="dept_id" property="dept_id"/>
 	<!-- 
		association定义关联对象封闭规则
		select:表明当前属性是调用select中的方法查出的结果
		column:指定将哪一列的值传给这个方法【注意:是有值的那个表的列而不是方法要查询的那个表的列】 	
 	 -->
 	
 	<association property="dept" select="com.atBing.dao.DeptMapper.getDeptById" column="dept_id">
 	</association>
 </resultMap>

在column那里跌了一个大跟头,浪费了一个多小时,难过。
coulumn中的列名我把他写成了select中的方法要查的那个表里的列名,这是一个大错啊,这个列名都没有值,我本来就是要查这个表了还把这个表的列名放到方法里!!!!
经过多次尝试后将colum中的列名改为了我第一步中查询的那个表的列名,因为第一步中我已经查询出来这个列名里面的值了,然后映射这第二步,将这个值传到了select方法中,成功了!!!

  • user表(第一步中查询的表)
    在这里插入图片描述
  • dept表(第二步中select方法中查询的表)
    在这里插入图片描述
  • 第二步中select中调用的查询方法
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值