使用springboot jpa完成复杂的分页查询

贴上数据表

贴上实体类

package com.imooc.mmal.pojo;import lombok.Data;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
import java.time.LocalDate;/*** (MallProduct)实体类** @author bin.zong* @since 2020-09-04 11:31:18*/
@Entity(name = "mall_product")
@Data
public class MallProduct implements Serializable {private static final long serialVersionUID = 666816867179765417L;/*** 商品id*/@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;/*** 分类id,对应mall_category表的主键*/private Integer categoryId;/*** 商品名称*/private String name;/*** 商品副标题*/private String subtitle;/*** 产品主图,url相对地址*/private String mainImage;/*** 图片地址,json格式,扩展用*/private String subImages;/*** 商品详情*/private String detail;/*** 价格,单位-元保留两位小数*/private Double price;/*** 库存数量*/private Integer stock;/*** 商品状态.1-在售 2-下架 3-删除*/private Integer status;/*** 创建时间*/private LocalDate createTime;/*** 更新时间*/private LocalDate updateTime;}

分页的时候要判断state等于1进行展示 在这里我并不想写sql语句,所以可以使用Example对象来帮住我们完成
首先创建Sort对象进行排序
之后将Sort对象扔到Page对象
在创建Example对象 创建实体类对象
贴上代码

            MallProduct product=new MallProduct();product.setStatus(MallProductEnum.IN_STOCK.getCode());Sort sort = new Sort(Sort.Direction.DESC, "id");Pageable pageable = PageRequest.of(pageNum, pageSize, sort);Example<MallProduct> example=Example.of(product);List<MallProduct> content = mallProductDao.findAll(example, pageable).getContent();log.info("content",content);

查看一下控制台日志

Hibernate: select mallproduc0_.id as id1_4_, mallproduc0_.category_id as category2_4_, mallproduc0_.create_time as create_t3_4_, mallproduc0_.detail as detail4_4_, mallproduc0_.main_image as main_ima5_4_, mallproduc0_.name as name6_4_, mallproduc0_.price as price7_4_, mallproduc0_.status as status8_4_, mallproduc0_.stock as stock9_4_, mallproduc0_.sub_images as sub_ima10_4_, mallproduc0_.subtitle as subtitl11_4_, mallproduc0_.update_time as update_12_4_ from mall_product mallproduc0_ where mallproduc0_.status=1 order by mallproduc0_.id desc limit ?, ?
Hibernate: select count(mallproduc0_.id) as col_0_0_ from mall_product mallproduc0_ where mallproduc0_.status=1

查看一下结果

使用springboot jpa完成复杂的分页查询相关推荐

  1. 解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题)

    解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) 参考文章: (1)解决Springboot+JPA中多表关联查询会查询多次的问题(n+1查询问题) (2)https: ...

  2. SpringBoot+Mybatis+Elasticsearch 实现模糊分页查询并标记关键字

    SpringBoot 整合 Elasticsearch 实现模糊分页查询并标记关键字 一.概述 & 介绍 Elasticsearch 是基于 Lucense 技术的搜索引擎(服务器),将数据进 ...

  3. SpringBoot JPA(JpaRepository)动态查询 分页展示

    大家知道Hibernate可以很轻松的根据提供条件进行动态筛选查询,那个JPA怎么实现呢,其中最为简单的就是使用Specification实现JPA的动态查询,本人也是初步接触JPA,第一次使用JPA ...

  4. SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的 ...

  5. jpa之PagingAndSortingRepository带分页查询

    1.1.  Dao接口继承PagingAndSortingRepository接口 PersonDao.java package com.morris.dao.inter;import org.spr ...

  6. Springboot Mybatis使用PageHelper实现分页查询

    以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍. 使用pageHelper实现分页查询其实非常简单,共两步: 一.导入依赖: pom.xml添加依赖: <!-- ...

  7. SpringBoot 整合【Mybatis-Plus实现分页查询】

    目录 1. 添加pom.xml依赖 2. 配置application.yml文件 3. mybatis-plus插件配置核心类 4. 启动类配置 5. 测试数据Sql脚本 6. mybatis-plu ...

  8. Springboot Mybatis使用pageHelper实现分页查询

    以下介绍实战中数据库框架使用的是mybatis,对整合mybatis此处不做介绍. 使用pageHelper实现分页查询其实非常简单,共两步: 一.导入依赖: 二.添加配置: 那么开始, 第一步: p ...

  9. springboot+thymeleaf+pageHelper带条件分页查询

    html层 <div><a class="num"><b th:text="'共 '+ ${result.resultMap['pages' ...

  10. Spring Data Jpa多表联合分页查询

    参考:https://blog.csdn.net/qq_36144258/article/details/80298354 近期一个项目用到Spring Data Jpa,Jpa用来做单表查询非常的简 ...

最新文章

  1. 使用git提交到github,每次都要输入用户名和密码的解决方法
  2. 学python需要哪些基础-python 学习,需要有哪些基础呢?
  3. Shell 环境中的预定义变量
  4. 十问十答 GPL 许可证
  5. access无法与wincc链接_wincc和Access连接写如变量
  6. 机电传动控制第一周学习笔记
  7. 键盘上的反引号怎么打
  8. 【Flink】Flink 1.9 升级 到 flink 1.12.4 报错 shaded netty4 AbstractChannel AnnotatedConnectException
  9. oracle改表结构非空字段类型,oracle 表结构的非完全复制
  10. Eclipse注释快捷键、如何生成API以及可能遇到的问题解决
  11. 加一条平行于y轴的直线_Hepco海普克应用案例—直线V型滚轮导轨广泛应用于多轴机械手...
  12. 如意淘商品推荐技术介绍之二:高级技术
  13. 汽车之家和易车该如何走下去?
  14. 电脑托文件到服务器,本地电脑文件拖入云服务器
  15. 评委打分表模板_系高中英语作文模板——邀请信
  16. linux tux_与Tux,BSD等一起庆祝国家超级英雄日
  17. 微信小程序添加(成功失败)提示音
  18. 抛硬币直到连续2次正面的概率
  19. Unity3D蓝牙连接Mi Band 5手环获取实时心率
  20. arcgis for android(六)定位

热门文章

  1. 场外模拟 省选联考(B卷) 2020 游记
  2. css表格文字超数量就竖排_CSS奇特技巧:控制文字竖排
  3. 【只推荐一位】木东居士,带着大家一起成长的数据科学大神!
  4. 软件测试人员,究竟怎么霸气过七夕?!大神攻略请笑纳!
  5. 三国志2017攻略 服务器维护,三国志2017新手攻略少走弯路
  6. 解码jpg图片c语言,图像解码之一——使用libjpeg解码jpeg图片
  7. P5144 蜈蚣 (线性DP)
  8. Show, Control and Tell: A Framework for Generating Controllable and Grounded Captions
  9. 【※taskmgr.exe进程知识详解※电脑知识】
  10. Prumo、bp和西门子与SPIC就巴西能源项目达成合作伙伴关系