springboot封装mybatisplus分页
时间: 2023-07-29 21:11:08 浏览: 107
SpringBoot+MybatisPlus实现联表分页查询
你可以通过以下步骤封装Spring Boot和MyBatis Plus的分页功能:
1. 首先,确保你已经添加了Spring Boot和MyBatis Plus的依赖项到你的项目中。
2. 创建一个自定义的分页查询类,例如 `PageQuery`,用于封装分页查询的参数。该类应包含以下属性:
```java
public class PageQuery {
private int page; // 当前页码
private int size; // 每页显示的记录数
// 省略getter和setter方法
}
```
3. 在你的数据访问层(如DAO或Mapper)中,使用MyBatis Plus提供的 `Page` 类来进行分页查询。例如:
```java
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
public interface UserMapper {
Page<User> getUserList(Page<User> page, @Param("query") PageQuery query);
}
```
4. 在你的服务层(Service)中,调用上一步定义的方法来进行分页查询。例如:
```java
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public Page<User> getUserList(PageQuery query) {
Page<User> page = new Page<>(query.getPage(), query.getSize());
return userMapper.getUserList(page, query);
}
}
```
5. 在你的控制器(Controller)中,注入服务类,并处理分页查询请求。例如:
```java
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public Page<User> getUserList(PageQuery query) {
return userService.getUserList(query);
}
}
```
现在,你可以通过发送 GET 请求到 `/users` 接口来获取分页查询结果。请求中可以包含 `page` 和 `size` 参数来指定页码和记录数。例如:`/users?page=1&size=10`。
这样,你就成功封装了Spring Boot和MyBatis Plus的分页功能。希望对你有所帮助!
阅读全文