java的mapper.xml返回结构是集合时怎么设置resultType
时间: 2024-11-12 19:36:35 浏览: 23
在Java中,当你在mapper.xml文件中配置SQL查询并期望返回结果是一个集合时,你需要在`<select>`标签内使用`resultType`属性,并指定对应的Java集合类型。这个类型通常是`List`、`Map`、`Set`等,例如:
```xml
<select id="selectUsers" resultType="java.util.List<User>" parameterType="int">
SELECT * FROM users WHERE id = #{id}
</select>
```
在这个例子中,`User`是你自定义的用户实体类,`resultType`设置为`List<User>`意味着查询的结果将被自动转换为一个包含`User`对象的列表。
如果你需要的是map,可以这么写:
```xml
<select id="getUserByKey" resultType="java.util.Map<String, User>" parameterType="String">
SELECT key, value FROM user_map WHERE key = #{key}
</select>
```
这里假设`user_map`表的键值对形式存储,结果会转换成`Map<String, User>`。
记得在实际使用时,`resultType`后面的类名需要完全匹配,否则MyBatis会抛出异常。如果映射关系不确定,还可以使用通配符`?`,如`resultType="?"`,然后在运行时通过`SqlSession`的`queryForObject()`方法传入确切的泛型类型。
阅读全文