mybatis xml 返回两个值一个key一个value
时间: 2024-01-28 16:04:33 浏览: 75
如果你想让 MyBatis 的 XML 映射返回两个值,一个为键,一个为值,你可以使用 `resultMap` 元素中的 `map` 属性来定义一个 Map 映射。例如:
```xml
<resultMap id="userMap" type="java.util.HashMap">
<id column="id" property="id" />
<result column="username" property="username" />
<result column="password" property="password" />
</resultMap>
<select id="selectUserMap" resultMap="userMap">
SELECT id, username, password
FROM users
WHERE id = #{id}
</select>
```
这个查询将返回一个 Map 对象,其中键为 `id` 列的值,值为一个包含 `username` 和 `password` 列值的 Map 对象。你可以使用以下方式访问 Map 对象中的值:
```java
Map<Integer, Map<String, Object>> userMap = sqlSession.selectMap("selectUserMap", "id");
Map<String, Object> user = userMap.get(1);
System.out.println(user.get("username"));
System.out.println(user.get("password"));
```
这个例子中,`selectMap` 方法将返回一个 Map 对象,其中键为 `id` 列的值,值为包含 `username` 和 `password` 列值的 Map 对象。你可以使用 `get` 方法获取指定键的值,并使用 `get` 方法从内部 Map 对象中获取 `username` 和 `password` 列的值。
阅读全文