MyBatis中怎么把查出来的两列数据转为Map
时间: 2024-05-13 13:19:27 浏览: 111
MyBatis Map结果的Key转为驼峰式
在 MyBatis 中,可以使用 `ResultType` 或 `ResultMap` 来映射查询结果。如果要将查询结果转换为 Map 类型,可以使用 `ResultType` 来指定返回值类型为 `Map`。
假设有一张表 `user`,其中有两列 `id` 和 `name`,要查询所有用户的 `id` 和 `name` 并转换为 Map,可以按照以下步骤操作:
1. 在 XML 映射文件中编写 SQL 语句,使用 `SELECT` 查询语句查询 `id` 和 `name` 两列数据。
```
<select id="selectAllUsers" resultType="map">
SELECT id, name FROM user
</select>
```
2. 在 Java 代码中调用对应的 SQL 语句并执行查询操作,将查询结果转换为 Map。
```
SqlSession sqlSession = sqlSessionFactory.openSession();
List<Map<String, Object>> userList = sqlSession.selectList("selectAllUsers");
Map<Integer, String> userMap = new HashMap<>();
for (Map<String, Object> user : userList) {
Integer id = (Integer) user.get("id");
String name = (String) user.get("name");
userMap.put(id, name);
}
sqlSession.close();
```
注意,由于 Map 的键和值类型可能不确定,需要通过强制类型转换将查询结果转换为指定类型的 Map。
阅读全文