使用mybatisplus利用base mapper进行分页查询
时间: 2023-09-20 15:08:38 浏览: 86
mybatis-plus分页查询的实现示例
使用Mybatis-Plus的BaseMapper进行分页查询有以下几个步骤:
1.导入Mybatis-Plus和Mybatis-Plus的分页插件pagehelper的依赖。
```xml
<!-- Mybatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
<!-- Mybatis-Plus的分页插件pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
```
2.定义一个Mapper接口,并继承Mybatis-Plus的BaseMapper接口。
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
3.在Service中注入Mapper,并调用Mapper的selectPage方法进行分页查询。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> getUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.selectList(null);
return (Page<User>) userList;
}
}
```
在上述代码中,我们通过PageHelper的静态方法startPage设置分页参数,然后调用Mapper的selectList方法查询数据,并将查询结果转换成Page对象返回给Controller。需要注意的是,在调用Mapper的selectList方法之前,我们需要调用PageHelper的startPage方法,否则分页查询将不会生效。
4.在Controller中调用Service的方法进行分页查询。
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/user/list")
public Page<User> getUserList(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
return userService.getUserList(pageNum, pageSize);
}
}
```
在上述代码中,我们定义了一个GET请求,请求路径为/user/list,用于查询用户列表。请求参数中,我们定义了两个参数:pageNum和pageSize,分别表示当前页码和每页显示的记录数。在方法体中,我们调用了userService的getUserList方法进行分页查询,并将查询结果返回给前端。
以上就是使用Mybatis-Plus的BaseMapper进行分页查询的全部过程。
阅读全文