mybatisplus 使用selectMany查询数据
时间: 2023-07-30 14:07:28 浏览: 156
MyBatis-Plus 是 MyBatis 的增强工具,它提供了许多便捷的查询方法,其中包括 `selectList`、`selectPage`、`selectMaps` 等。在 MyBatis-Plus 中,`selectList` 方法可以用来查询多条记录,相当于 SQL 中的 `SELECT * FROM table`,返回一个 List 对象。
如果你需要在 MyBatis-Plus 中使用 `SelectMany` 方法来查询数据,可以使用 `selectObjs` 方法,该方法返回指定列的单个值列表。下面是一个示例:
```java
List<Object> resultList = userMapper.selectObjs(Wrappers.<User>lambdaQuery()
.select(User::getName, User::getAge)
.eq(User::getGender, GenderEnum.MALE)
.orderByAsc(User::getAge)
.select(User::getEmail, User::getPhone)
.last("limit 10"));
```
在这个示例中,我们使用 `lambdaQuery` 方法创建一个查询对象,使用 `select` 方法指定要查询的列,使用 `eq` 方法指定查询条件,并使用 `orderByAsc` 方法指定排序方式。最后,我们使用 `select` 方法再次指定要查询的列,并使用 `last` 方法添加 SQL 的最后一部分。该 SQL 语句相当于以下 SQL 语句:
```
SELECT name, age, email, phone FROM user WHERE gender = 'MALE' ORDER BY age ASC LIMIT 10
```
这个查询语句会返回一个包含指定列的值的列表。
希望这个示例能帮到你。
阅读全文