使用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中测试

相关推荐
p***3235几秒前
Nginx 配置前端后端服务
运维·前端·nginx
我看刑1 分钟前
【已解决】el-date-picker type=“datetime“限制(动态)可选时间范围,精确到分钟!!!
前端·javascript·vue.js
悟空码字3 分钟前
WebSocket实战:让服务器和客户端“煲电话粥”
java·websocket·编程技术·后端开发
周周爱喝粥呀1 小时前
【基础】Three.js 实现 3D 字体加载与 Matcap 金属质感效果(附案例代码)
前端·javascript·vue.js·3d
克喵的水银蛇1 小时前
Flutter 通用输入框封装实战:带校验 / 清除 / 密码切换的 InputWidget
前端·javascript·flutter
2501_915909061 小时前
Fiddler抓包与接口调试实战,HTTPHTTPS配置、代理设置与移动端抓包详解
前端·测试工具·ios·小程序·fiddler·uni-app·webview
我命由我123452 小时前
微信小程序开发 - 为 tap 事件的处理函数传递数据
开发语言·前端·javascript·微信小程序·小程序·前端框架·js
百万蹄蹄向前冲5 小时前
Trae Genimi3跟着官网学实时通信 Socket.io框架
前端·后端·websocket
狂炫冰美式6 小时前
TRAE SOLO 驱动:重构AI模拟面试产品的复盘
前端·后端·面试
x***38168 小时前
springboot和springframework版本依赖关系
java·spring boot·后端