在Mybatis中,@Select注解處理多結(jié)果集時(shí)可以使用@Results和@ResultMap注解來(lái)映射多結(jié)果集的結(jié)果。一種常用的方式是使用@Results注解定義多個(gè)@Result注解來(lái)映射多結(jié)果集的列,然后在SQL語(yǔ)句中通過(guò)resultMap屬性來(lái)引用這個(gè)@Results注解。另一種方式是使用@ResultMap注解定義一個(gè)單獨(dú)的@Results注解,然后在@Select注解中通過(guò)resultMap屬性來(lái)引用這個(gè)@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注解定義了一個(gè)映射多結(jié)果集的結(jié)果,然后在@Select注解中通過(guò)resultMap屬性引用了這個(gè)@Results注解。另外,還使用@ResultMap注解定義了一個(gè)單獨(dú)的@Results注解,并在@Select注解中通過(guò)resultMap屬性引用了這個(gè)@ResultMap注解。
通過(guò)這種方式,可以很方便地處理多結(jié)果集的情況,提高代碼的可讀性和可維護(hù)性。