mybatisplus分页
时间: 2023-07-08 17:56:15 浏览: 102
MyBatisPlus_page_tables:MyBatisPlus 分页、多表实现方法
MybatisPlus 是 Mybatis 的增强工具,提供了许多便捷的功能,其中包括分页功能。
使用 MybatisPlus 进行分页,需要借助 Page 类来实现。Page 类是 MybatisPlus 封装的分页对象,它包含了当前页码、每页显示数量、总记录数、总页数等信息。具体实现步骤如下:
1. 在 Mapper 接口中添加分页方法,需要传入一个 Page 对象作为参数,同时在 SQL 语句中使用 MybatisPlus 提供的分页语法。
```java
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectUserPage(Page<User> page, @Param("name") String name);
}
```
```xml
<select id="selectUserPage" resultType="com.example.demo.entity.User">
select *
from user
where name like concat('%', #{name}, '%')
order by id desc
</select>
```
2. 在 Service 中调用 Mapper 中的分页方法,并将结果封装到 Page 对象中。
```java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public IPage<User> selectUserPage(Page<User> page, String name) {
return baseMapper.selectUserPage(page, name);
}
}
```
3. 在 Controller 中接收分页参数,调用 Service 中的分页方法,并将结果返回。
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Result list(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
String name) {
Page<User> page = new Page<>(pageNum, pageSize);
IPage<User> userPage = userService.selectUserPage(page, name);
return Result.success(userPage);
}
}
```
以上就是使用 MybatisPlus 进行分页的基本步骤。需要注意的是,MybatisPlus 还提供了一些高级的分页查询功能,比如自定义 SQL、分页插件等。具体可以参考 MybatisPlus 的官方文档。
阅读全文