mybatis中的映射通过collection来封装对象的list值

userMapper.xml:

<select id="getUserList" resultMap="familyResult">
		select
		<include refid="useridNames" /><!-- 引用sql id -->
		from userinfo
	</select>

	<resultMap id="familyResult" type="com.chenjun.Family">
		<collection property="users" ofType="com.chenjun.User"<span style="color:#FF0000;"> resultMap="getUserLists"</span>> <!--将查到的结果一条记录一条记录地封装到user中,得到users值,注入到Family中-->
			<id property="id" column="id" />           <!--这两行也可以抽出来,单独作为一个映射上面红色部分-->
			<result property="name" column="name" />
		</collection>

	</resultMap>

<!-- 定义sql片断,用于重用 -->
	<sql id="useridNames">id,name</sql>

dao:

 public Family getUserList();

测试代码:

private static void printUsers(SqlSession sqlSession, UserDao userDao)
    {
       Family family = userDao.getUserList();
        for (User user : family.getUsers())
        {
            System.out.println(user.getId() + ":" + user.getName());
        }
    }

执行结果:

43:张四
21:张五
9:ameraca
8:张三


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值