MyBatis - 使用一个整数和整数

时间:2016-12-02 16:57:27

标签: java mybatis

我有以下表格:

IDofDog, IDOfOwner  
1         4
2         4
3         3
4         3

正如你所看到的,一个人可以拥有更多的那只狗。我也有一个班级:

class A{
   int ownerID;
   List <Integer> dogs;
}

是否可以为他的狗选择所有者(例如4)?更确切地说,我想(使用mybatis)得到这样的A a对象:

a.ownerID = 4
a.dogs = [1,2]

1 个答案:

答案 0 :(得分:0)

认为您可以使用@Result注释执行此操作。有点像...

interface DogRepo {

    @Select("Select distinct IdOfOwner as ownerId from DogOwnership")
    @Results(@Result(column = "ownerId", property = "dogs", many = @Many(select = "getDogIdsForOwner")))
    A getDogsByOwner();

    @Select("Select IdofDog from DogOwnership where IdOfOwner=#{ownerId}")
    List<Integer> getDogIdsForOwner(@Param("ownerId") int ownerId);
}

可能不是最有效的方法,只需读取行并手动构建对象可能更有效。