Test程序如下:
@Test
public void testSelectManyToOne() throws Exception{
SqlSession session=null;
try {
session=MybatisUtils.openSession();
List<GoodsDetail> list=session.selectList("goodsDetail.selectManyToOne");
for (GoodsDetail gd:list){
System.out.println(gd.getGoods());
System.out.println(gd.getGdPicUrl()+":"+gd.getGoods().getTitle());
}
} catch (Exception e) {
throw e;
} finally {
MybatisUtils.closeSession(session);
}
}
goods_detail.xml代码如下:
<resultMap id="rmGoodsDetail" type="com.imooc.mybatis.utils.entity.GoodsDetail">
<id column="gd_id" property="gdId"/>
<result column="goods_id" property="goodsId"/>
<association property="goods" select="goods.selectById" column="goods_id"></association>
</resultMap>
<select id="selectManyToOne" resultMap="rmGoodsDetail">
select * from t_goods_detail limit 0,1
</select>
debug结果:
goods显示为null;
最后发现是数据库t_goods中goods_id=739的那一行被删除了