springboot +mybaits 实现分页查询
时间: 2023-09-19 07:09:04 浏览: 126
基于SpringBoot+Mybaits+Mysql的用户管理项目
Spring Boot是一个快速开发框架,MyBatis是一款优秀的ORM框架,结合两者可以轻松实现分页查询。下面是一个简单的Java代码示例,用于实现分页查询:
1. 首先,在pom.xml文件中添加MyBatis和PageHelper的依赖:
```xml
<!-- MyBatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- PageHelper依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
```
2. 在application.yml文件中配置MyBatis和PageHelper:
```yml
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
```
3. 在DAO层定义分页查询接口:
```java
public interface UserDao {
List<User> findUsersByPage(int pageNum, int pageSize);
}
```
4. 在Mapper XML文件中定义SQL语句:
```xml
<select id="findUsersByPage" resultType="User">
select * from user
</select>
```
5. 在Service层实现分页查询方法:
```java
@Service
public class UserService {
@Autowired
private UserDao userDao;
public PageInfo<User> findUsersByPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userDao.findUsersByPage(pageNum, pageSize);
return new PageInfo<>(userList);
}
}
```
6. 在Controller层调用Service方法:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
return userService.findUsersByPage(pageNum, pageSize);
}
}
```
以上代码使用了PageHelper进行分页操作,最终将分页信息封装在了PageInfo对象中返回给调用者。你可以根据自己的实际情况进行修改和优化。
阅读全文