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

相关推荐
灵感__idea1 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo2 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队3 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher3 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati3 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao3 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
兆子龙4 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙5 小时前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构
SuperEugene5 小时前
表单最佳实践:从 v-model 到自定义表单组件(含校验)
前端·javascript·vue.js
昨晚我输给了一辆AE865 小时前
为什么现在不推荐使用 React.FC 了?
前端·react.js·typescript