在Spring Boot中使用Mybatis-Plus的Lambda表达式查询数据并返回Page对象,可以按照以下步骤实现:1. 创建Mapper接口,继承BaseMapper泛型接口,并通过注解@Mapper指定该接口为Mybatis的Mapper接口。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
2. 在Service层中注入Mapper接口,并使用LambdaQueryWrapper构建查询条件,并调用Mybatis-Plus的selectPage方法进行分页查询,最后将查询结果封装到Page对象中返回。```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> getUserList(int pageNum, int pageSize, String name) {
Page<User> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotBlank(name), User::getName, name);
userMapper.selectPage(page, queryWrapper);
return page;
}
}
```
3. 在Controller层中调用Service层的getUserList方法,并将查询结果封装到ResponseEntity对象中返回给前端。```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public ResponseEntity<Page<User>> getUserList(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize,
@RequestParam(required = false) String name) {
Page<User> userList = userService.getUserList(pageNum, pageSize, name);
return ResponseEntity.ok(userList);
}
}
```
通过以上步骤,即可在Spring Boot中使用Mybatis-Plus的Lambda表达式查询数据并返回Page对象。