MyBatis(17)- Mybatis多表操作(2)- 一對多

1 user 的一對多查詢

在這裏插入圖片描述

  • IUserDao.xml
    <resultMap id="userAccountMap" type="user">
        <id property="id"  column="id"></id>
        <result property="username" column="username"></result>
        <result property="sex" column="sex"></result>
        <result property="address" column="address"></result>
        <result property="birthday" column="birthday"></result>

        <!--配置 user 對象中 accounts 集合的映射-->
        <collection property="accounts" ofType="Account">
            <id property="id" column="aid"></id>
            <result property="uid" column="uid"></result>
            <result property="money" column="money"></result>
        </collection>

    </resultMap>

    <!--配置查詢所有,同時獲取用戶下的所有賬戶-->
    <select id="findAll" resultMap="userAccountMap">
       select * from user u left outer join account a on u.id=a.uid
    </select>

在這裏插入圖片描述

  • 單元測試
  @Test
    public void testFindAll() throws IOException {
        List<User> users = userDao.findAll();
        for (User user : users) {
            System.out.println("---- 每個用戶 ------");
            System.out.println(user);
            System.out.println(user.getAccounts());
            System.out.println("===================");
        }
    }

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章