MyBatis-Plus 返回既有对象也有map
时间: 2024-09-13 19:17:49 浏览: 44
MyBatis-Plus 查询返回实体对象还是map
MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。在使用 MyBatis-Plus 进行数据操作时,通常会返回一个对象或者一个结果集列表(List)。但是,如果你想要返回既有对象也有 map,可以通过自定义 SQL 语句或者使用 MyBatis-Plus 的某些方法来实现。
例如,你可以使用 `SELECT` 语句来同时查询出对象的属性和某些额外的字段,然后在 Java 中将结果封装到一个对象和一个 map 中。在 MyBatis-Plus 中,你还可以使用 `ResultMap` 来映射 SQL 查询的结果到多个不同的对象中,虽然这种做法并不直接返回 map,但是可以在返回对象的同时,将额外的字段信息封装到对象的某个属性中,例如一个 map。
此外,如果你想要直接在 MyBatis-Plus 中操作并返回 map,可以使用 `selectMaps` 方法来实现。这个方法执行后会返回一个 `List<Map<String, Object>>` 类型的结果,每个 map 对应查询结果的一行。
下面是一个简单的例子:
```java
// 使用 selectMaps 方法查询并返回 List<Map<String, Object>>
List<Map<String, Object>> maps = baseMapper.selectMaps("sql_id");
```
在这个例子中,`sql_id` 是你的 SQL 映射文件中定义的 SQL 语句的 ID。这样操作后,你将会得到一个包含 map 的列表,每个 map 对应数据库中查询出来的一行数据。
阅读全文