mybatisplus分页查询用户
时间: 2023-09-02 14:15:51 浏览: 87
可以使用 MyBatis-Plus 提供的 Page 类来实现分页查询,具体实现方法如下:
1. 引入 MyBatis-Plus 依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
```
2. 定义实体类 User.java,可以使用注解 @TableName 指定数据库表名:
```java
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
}
```
3. 定义 Mapper 接口 UserMapper.java,继承 BaseMapper 并指定实体类:
```java
public interface UserMapper extends BaseMapper<User> {
}
```
4. 在业务逻辑中调用分页方法:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserPage(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPage(page, null);
}
}
```
其中,Page 类需要传入两个参数,即当前页码 pageNum 和每页显示的记录数 pageSize。selectPage 方法的第二个参数为查询条件,这里设置为 null 表示查询所有记录。
5. 在控制器中使用分页查询:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public IPage<User> getUserPage(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
return userService.getUserPage(pageNum, pageSize);
}
}
```
其中,pageNum 和 pageSize 可以通过请求参数传递,如果没有传递则使用默认值。getUserPage 方法返回的是一个 IPage<User> 对象,包含总记录数、总页数、当前页码、每页显示的记录数和查询结果等信息。
阅读全文