使用xml编写查询前提下MyBatisPlus分页IPage用法

在pom文件里增加MyBatisPlus依赖

复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3.1</version>
</dependency>

在config层定义拦截器

复制代码
@Configuration
public class MybatisPlusConfig {
    //定义一个mybatisPlus的拦截器 再 add一个分页拦截器
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        //1.初始化核心插件
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //2.添加分页插件
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }

}

在mapper层调用xml中的查询语句,并加上参数

复制代码
IPage<User> getOrdersByUser(Page<User> page);

在service定义一个方法实现分页,这里传入两个参数,current和size,current表示当前页码,size表示每页几行

复制代码
IPage<User> getUserByPage(int current, int size);

实现接口

复制代码
    @Override
    public IPage<User> getUserByPage(int current, int size) {
        Page<User> page = new Page<>(current,size);
        return userMapper.getOrdersByUser(page);
    }

在control层调用接口方法

复制代码
@GetMapping("/users")
public IPage<User> getPage( @RequestParam(value = "current", defaultValue = "1") int current,
                            @RequestParam(value = "size", defaultValue = "2") int size){
    return userServiceImpl.getUserByPage(current,size);
}

在postman中测试

相关推荐
Drift_Dream5 分钟前
虚拟滚动:优化长列表性能的利器
前端
逃离疯人院5 分钟前
前端性能深度解析:网络响应时间与实际渲染时间的鸿沟
前端
VX:Fegn089515 分钟前
计算机毕业设计|基于springboot + vue酒店预约系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
杀死那个蝈坦15 分钟前
Caffeine
java·jvm·spring cloud·tomcat
我是若尘16 分钟前
🚀 深入理解 Claude Code:从入门到精通的能力全景图
前端
n***271917 分钟前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
汤姆yu18 分钟前
基于springboot的校园家教信息系统
java·spring boot·后端·校园家教
q***062920 分钟前
Spring Boot--@PathVariable、@RequestParam、@RequestBody
java·spring boot·后端
urkay-22 分钟前
Android 切换应用语言
android·java·kotlin·iphone·androidx
老前端的功夫23 分钟前
Webpack 深度解析:从配置哲学到编译原理
前端·webpack·前端框架·node.js