一、注意事项:

Mybatis-plus自带分页功能,需添加分页拦截器

Mybatis-plus不建议和pagehelper分页插件同时使用,jar包会冲突

二、实现分页查询

1、主程序(application)需要先添加拦截器

//mybatis-plus自带分页功能,需添加分页拦截器
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

2、在controller里调用service的分页方法

 @Value("${jdbc.size}")
    private int size;
 
//分页
    @RequestMapping("/selectByPage")
    public Page selectByPage(int page){
        //分页插件---分页信息封装-----总数量,当前页数据,总页码
        //page,5  返回多少页,每页5条数据
       /* Page p = as.page(new Page(page,5));
        System.out.println(p);
        return p;*/
        
       //简化形式
       return as.page(new Page(page,size));
    }

三、实现条件查询

1、条件查询

@RequestMapping("/selectByName")
    public List selectByName(String aname){
        //给查询增加条件,条件搜索器
        QueryWrapper qw = new QueryWrapper();
        //条件查询
        qw.eq(!StringUtils.isEmpty(aname),"aname",aname);
        return as.list(qw);       
    }

2、条件排序

@RequestMapping("/selectByName")
    public List selectByName(String aname){
        //给查询增加条件,条件搜索器
        QueryWrapper qw = new QueryWrapper();
        //条件排序
        qw.orderByDesc("aid");
        return as.list(qw);
    }

3、模糊查询

@RequestMapping("/selectByName")
    public List selectByName(String aname){
        //给查询增加条件,条件搜索器
        QueryWrapper qw = new QueryWrapper();
        //模糊查询
        qw.like(!StringUtils.isEmpty(aname),"aname",aname);
        qw.orderByDesc("aid");
        return as.list(qw);
    }

4、条件链式查询

@RequestMapping("/selectByName2")
    public List selectByName2(String aname){
    //简化形式
    return as.query().eq("aname",aname).list();
    }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐