在Mybatis中,@Select注解處理多結果集時可以使用@Results和@ResultMap注解來映射多結果集的結果。一種常用的方式是使用@Results注解定義多個@Result注解來映射多結果集的列,然后在SQL語句中通過resultMap屬性來引用這個@Results注解。另一種方式是使用@ResultMap注解定義一個單獨的@Results注解,然后在@Select注解中通過resultMap屬性來引用這個@ResultMap注解。
示例代碼如下:
@Results({
@Result(property = "id", column = "id"),
@Result(property = "name", column = "name")
})
@Select("SELECT id, name FROM table1")
List<Entity1> selectEntity1();
@ResultMap("resultMap1")
@Select("SELECT id, name FROM table2")
List<Entity2> selectEntity2();
在上面的代碼中,首先使用@Results注解定義了一個映射多結果集的結果,然后在@Select注解中通過resultMap屬性引用了這個@Results注解。另外,還使用@ResultMap注解定義了一個單獨的@Results注解,并在@Select注解中通過resultMap屬性引用了這個@ResultMap注解。
通過這種方式,可以很方便地處理多結果集的情況,提高代碼的可讀性和可維護性。