栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分页查询功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分页查询功能

后台
1、在service层编写分页接口

IPage getPage(int current, int pageSize); //编写分页方法

实现对应的接口:

    @Override
    public IPage getPage(int current, int pageSize) {
        IPage page=new Page(current,pageSize);//Ipage接口,page实现类。current指示当前页。size指的是每页多少条数据
        bookDao.selectPage(page,null);
        return page;
    }

2、需要实现拦截器配置,解决sql语句使用分页出现的问题3、编写controller层方法

 @GetMapping("{current}/{pageSize}")
  public R getPage2(@PathVariable int current, @PathVariable int pageSize,Book book){  //一定不能忘记添加路径参数
        IPage page = iBookService.getPage(current, pageSize,book);
        //如果当前页码值大于总页码值,那么重新执行查询操作,使用总页码值
        if(current>page.getPages()){
            page = iBookService.getPage((int)page.getPages(), pageSize,book);//因为getPages得到的是long类型数据线
        }
        return new R(true,page);
    }

前端页面
1、设计分页组件

2、
3、

4、
分页组件中的数据内容包括多个参数,因此需要去访问对应的参数获取对应的内容。

5、
模糊查询

模糊查询需要链接字符串,可以考虑使用name字符串,但是也可以考虑传入数据模型类对象,会自动把数据传入到模型类当中,如图:
因此后台修改查询方式为模糊查询:

IPage getPage(int current, int pageSize,Book book); //编写分页方法
 @Override
    public IPage getPage(int current, int pageSize,Book book) {
        //模糊查询!!!
        LambdaQueryWrapper lqw=new LambdaQueryWrapper();
        lqw.like(Strings.isNotEmpty(book.getType()),Book::getType,book.getType());
        lqw.like(Strings.isNotEmpty(book.getName()),Book::getName,book.getName());
        lqw.like(Strings.isNotEmpty(book.getDescription()),Book::getDescription,book.getDescription());

        IPage page=new Page(current,pageSize);
        bookDao.selectPage(page,lqw);
        return page;
    }

模糊查询的时候需要建立LambdaQueryWrapper对象,通过like条件匹配进行查询,第一个参数是boolean,表示要不要进行条件查询;第二个参数是模糊查询的属性;第三个参数是对应的值。Strings.isNotEmpty(book.getType())表示有这个type值就进行这个模糊查询,否则就不执行这个模糊查询,直接进行后面的全部查询。

JAVA 类名::方法名

T::getId
T为泛型类,getId为BaseEntity中的方法。
T::getId,得到id属性

编写表现层方法:

 @GetMapping("{current}/{pageSize}")
    public R getPage2(@PathVariable int current, @PathVariable int pageSize,Book book){  //一定不能忘记添加路径参数
        IPage page = iBookService.getPage(current, pageSize,book);
        //如果当前页码值大于总页码值,那么重新执行查询操作,使用总页码值
        if(current>page.getPages()){
            page = iBookService.getPage((int)page.getPages(), pageSize,book);//因为getPages得到的是long类型数据线
        }
        return new R(true,page);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1021402.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号