mybatisplus多表联查 xml中sql返回map 如何设置map中的key
时间: 2024-05-06 16:16:06 浏览: 211
ibatis_sqlMap
在 MyBatis-Plus 中,多表联查返回 Map 的方式非常简单,只需要使用 `selectMaps` 方法即可。这个方法的返回值是一个 List<Map<String, Object>>,其中每个 Map 对象对应一条查询结果,Map 的 key 是列名,value 是对应的值。
如果你想自定义返回的 Map 的 key,可以在 SQL 语句中使用别名来指定。例如:
```xml
<select id="getUserAndRole" resultType="java.util.Map">
SELECT u.id as userId, u.username, r.id as roleId, r.role_name
FROM user u
LEFT JOIN user_role ur ON u.id = ur.user_id
LEFT JOIN role r ON ur.role_id = r.id
WHERE u.id = #{userId}
</select>
```
在这个例子中,我们使用了 `as` 关键字为每个列指定了别名,这样返回的 Map 对象中就会包含 `userId`、`username`、`roleId` 和 `role_name` 四个 key。
注意,这里的 `resultType` 必须设置为 `java.util.Map`,否则会抛出异常。
阅读全文