Java MyBatis 如果方法返回的是集合 MyBatis是如何确定是List还是Set的?

java

public List<User> findAll();
public Set<User> findAllSet();

mapper映射文件

(1)

select id="findAll" resultType="User"

select * from user

/select

(2)

select id="findAllSet" resultType="User"

select * from user

/select

然后我在程序里加了输出类型

第一个返回的是java.util.ArrayList

第二个返回的是java.util.HashSet

我想问MyBatis是怎么知道应该返回List还是Set的,像Hibernate至少还有list,set标签,Query有个list()方法,MyBatis总不至于通过反射接口然后hardcode类型去判断吧

这个不就是根据你接受返回数据的类型决定的吗?你想要返回的集合类型是List的,那就直接使用List接收,要是想要返回的类型是Set,那就使用Set接收就好啦,mybatis会根据你接受数据类型自动匹配的