springboot3mybatisplus分页查询
时间: 2025-01-05 22:30:22 浏览: 14
### 使用Spring Boot 3与MyBatis Plus实现分页查询
为了在Spring Boot 3项目中利用MyBatis Plus实现分页查询,可以采用`selectPage`方法来简化这一过程。此方式不仅提高了开发效率,还增强了代码可读性和维护性[^1]。
#### 准备工作
确保已经在项目的pom.xml文件里引入了必要的依赖项:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本号</version>
</dependency>
<!-- 如果使用的是MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
```
#### 创建实体类
定义一个用于映射数据库表结构的Java Bean对象,比如User.java:
```java
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("users")
public class User {
@TableField(value="id", exist=false)
private Long id;
@TableField("name")
private String name;
// getter and setter methods...
}
```
#### 编写Mapper接口
创建对应的Mapper接口继承BaseMapper<T>, 并声明需要执行的操作:
```java
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface IUserMapper extends BaseMapper<User> {}
```
#### Service层逻辑编写
Service负责业务处理,在这里调用Mapper完成具体的CRUD操作:
```java
@Service
public class UserService {
@Autowired
private IUserMapper userMapper;
public IPage<User> getUsersByPage(int currentPage, int pageSize){
Page<User> page = new Page<>(currentPage,pageSize);
return userMapper.selectPage(page,null);
}
}
```
上述代码片段展示了如何基于传入的当前页码和每页显示条目数构建分页参数,并通过`selectPage()`函数获取指定范围内的记录集合。
#### Controller控制层设计
最后一步是在Controller接收前端请求并返回响应结果给客户端:
```java
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Map<String,Object> list(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize){
IPage<User> userList=userService.getUsersByPage(pageNum,pageSize);
HashMap<String,Object> resultMap=new HashMap<>();
resultMap.put("totalPages",userList.getPages());
resultMap.put("data",userList.getRecords());
return resultMap;
}
}
```
这段程序说明了当接收到GET类型的HTTP请求时,会解析URL中的参数作为分页条件传递给服务端进行数据检索;之后再把得到的结果封装成JSON格式反馈回去[^3]。
阅读全文