用springboot实现分页功能,用mybatis-plus插件实现
时间: 2024-05-10 18:15:33 浏览: 116
实现分页功能,可以使用Spring Boot和MyBatis-Plus插件提供的分页支持。
1. 引入MyBatis-Plus依赖
在pom.xml文件中添加MyBatis-Plus依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
```
2. 配置分页插件
在Spring Boot的配置文件application.properties或application.yml中添加以下配置:
```yaml
mybatis-plus:
configuration:
# 开启分页插件
map-underscore-to-camel-case: true
# 分页插件
page:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
auto-mapping: true
```
3. 编写Mapper接口
在Mapper接口中添加对应的方法,使用MyBatis-Plus提供的分页参数Page实现分页功能。
```java
public interface UserMapper extends BaseMapper<User> {
/**
* 分页查询用户列表
* @param page 分页参数
* @param name 查询条件:用户名
* @return 用户列表
*/
IPage<User> selectUserList(Page<User> page, @Param("name") String name);
}
```
4. 编写Service实现类
在Service实现类中调用Mapper接口中的方法,获取分页数据。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserList(Page<User> page, String name) {
return userMapper.selectUserList(page, name);
}
}
```
5. 编写Controller类
在Controller类中,通过@RequestParam注解获取分页参数,调用Service实现类中的方法,将分页结果返回给前端。
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public IPage<User> getUserList(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
String name) {
Page<User> page = new Page<>(pageNum, pageSize);
return userService.getUserList(page, name);
}
}
```
通过以上步骤,即可实现基于Spring Boot和MyBatis-Plus插件的分页功能。
阅读全文