2个实体类,表就不放了,都是对应的,在命令行中执行查询语句以及结果如下
下面的查询语句和上面命令行的语句是一样的
<resultMap id="user_orders" type="xml.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
<collection property="desList" ofType="xml.Des">
<id property="id" column="did"/>
<result property="weapon" column="weapon"/>
</collection>
</resultMap>
<select id="test_5" resultMap="user_orders">
select * from user ,des where id=did
</select>
接口
List<User> test_5();
测试语句
List<User> userList = mapper.test_5();
for (User user : userList) {
List<Des> desList = user.getDesList();
for (Des des : desList) {
System.out.println(des.getWeapon());
}
}
问题来了,执行测试语句后,只输出了一个弓箭,这是为啥,我的预期是(弓箭,书,弓箭),为啥仅输出了一个(弓箭)