SpringData JPA分页查询

SpringBoot集成Jpa对数据进行排序、分页、条件查询和过滤 NotIn:等价于 SQL 中的 "not in",findByNameNotIn(Collection userList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;In:等价于 SQL 中的 "in",findByIdIn(Collection userIdList) ,方法的参数可以是 Collection 类型,也可以是数组或者不定长参数;也可以使用findAllBy。JPA为我们提供了分页的方法,我们可以查看接口集成的JpaRepository接口的关系图。 阅读详情

首先我们需要知道SpringData JPA 的几个接口





其实看名字就大概懂了,也可以很方便的使用

首先我们的持久化层继承JpaRepository,相当于继承了增删改查的持久化层以及分页查询的持久化层

所以如果我们要使用分页查询 ,我们只需要直接调用


由一开始的图也可以看到Pageable的其中一个实现,直接新建一个对象传给你的持久层即可

下面是一个小Demo的例子

package Dao;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;

import Entity.Student;

//不需要使用事物注解,因为Spring已经默认帮我们开启 当然我们可以利用注解进行额外的设置
//对数据进行除了查询之外我们都需要加入事物注解不然报错 这是我个人测试
public interface StudentDao extends JpaRepository,CommonDao{
	
	@Query("from Student s where s.sid = ?1")
	Student findById(String id);
//	两种写法一样
//	@Query("select * from Student s where s.sid = :id")
//	Student findById(@Param("id")String id);
	
	@Transactional
	@Query("delete from Student s where s.sid = ?1")
	@Modifying//更新或者删除需要额外加这个注解
	void deleteById(String id);
	
	//父类方法直接调用 findAll(Pageable pageable)
}


//Service 层
public Page findAll(Pageable pageable) {
		// TODO Auto-generated method stub
		return studentDao.findAll(pageable);
	}

//Controller
@RequestMapping("/findAll")
	public Page findAll(@RequestParam("f")int pageNum,@RequestParam("m")int size){
		return studentService.findAll(new PageRequest(pageNum, size));
	}
下面是返回结果:

{"content":[{"sid":"1","sname":"sam","sage":1},{"sid":"2","sname":"2","sage":2},{"sid":"3","sname":"3","sage":3}],"totalPages":1,"totalElements":3,"last":true,"number":0,"size":20,"numberOfElements":3,"sort":null,"first":true}

Springboot 快速学会使用 JPA 分页查询 如果还不知道springboot怎么使用JPA的,先参考这篇 Springboot快速整合JPA实现增删查改:https://blog.youkuaiyun.com/qq_35387940/article/details/102541311 接下来回到正题 示例场景,将下面表数据分页查询出来: 简单模拟, mapper: @Query(value="select * from u... 阅读详情

相关推荐

Spring Data JPA 分页接口的使用方法——PageHelper分页查询方法

2017年,全国IT企业纷纷转向云计算、容器技术,并掀起了一股“容器潮流”。容器化、微服务架构以及分布式系统架构模式越来越流行,对于大型复杂系统而言,数据库分页查询在性能上就成为一个重要的优化点。基于此,当下互联网中最流行的开源框架之一, MyBatis 和 SpringData JPA 等都提供了分页查询功能。PageHelper 是 MyBatis 中的一个分页插件,作用是在不用改变 SQL 查询的前提下,实现自定义物理分页,非常方便开发者使用。

AI天才研究院 3265

JPA三种分页查询

接触Jpa已经有一段时间,从陌生到运用自如。这篇文章便是讲解自己在实际工作中所运用到的三种分页条件查询方法,希望对你有用。

小小小啊伟的博客 2万+

使用Dify搭建音频文件转文本工作流

使用Dify搭建音频文件转文本工作流

zyx_bx的博客 5623

SpringDataJPA(二)分页查询与动态条件

详细介绍 Spring Data JPA 的分页查询、动态条件、批处理等高级进阶使用

这里是阿安的博客 3663

AI训练加速30%!用numactl玩转多显卡绑核的隐藏技巧

本文深入探讨了如何利用Linux系统的numactl工具,通过精确的NUMA绑核策略优化多GPU AI训练性能。文章详细解析了NUMA架构对性能的影响,提供了从拓扑探查、命令实战到多卡脚本化部署的完整指南,并分享了性能验证与常见陷阱,帮助开发者实现高达30%的训练加速。

web99的专栏 449

WRF实战:自定义Vtable解析ECMWF海温数据的关键步骤与技巧

本文详细介绍了在WRF模型中自定义Vtable以解析ECMWF海温数据的关键步骤与技巧。通过解剖GRIB文件、编写自定义Vtable条目以及配置METGRID.TBL,解决了ECMWF数据与WRF模型对接的难题,为海洋气象和台风模拟研究提供了高精度数据输入方案。

weixin_29279101的博客 336

SpringData JPA @Query分页查询 Cannot use native queries with dynamic sorting and/or pagination in method

异常信息:Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newsDao': Invocation of init method failed; nested exception is org.springframework.data.jpa.repo

IT打工匠 4574

智算中心建设全流程指南:从规划到落地

智算中心的建设是一个复杂而系统的过程,涉及选址、立项、办理相关手续、设计、土建、机电安装、调试、验收等多个环节。每个环节都需要充分考虑各种因素,并注意相关的事项,以确保智算中心的顺利建设和高效运行

数据中心全生命周期价值管理 3399

SpringData JPA条件查询、排序、分页查询

Spring Data JPA是spring提供的一款对于数据访问层(Dao层)的框架,使用Spring Data JPA,只需要按照框架的规范提供dao接口,不需要实现类就可以完成数据库的增删改查、分页查询等方法的定义,极大的简化了我们的开发过程。

Veggie的博客 1万+

从零到一:QT for OpenHarmony 开发环境实战搭建与踩坑指南

本文是一份详尽的QT for OpenHarmony开发环境搭建实战指南。文章手把手教你如何在Windows和macOS系统上,从环境准备、核心工具(DevEco Studio与社区版QT SDK)安装配置,到创建首个QT Quick项目、解决构建部署中的常见问题,最终实现应用在OpenHarmony设备上运行。内容涵盖关键配置修改、资源管理及深度踩坑经验,旨在帮助开发者高效开启跨平台开发之旅。

weixin_29190573的博客 326

TM1621/HT1621 段码LCD驱动器

TM1621 LCD 驱动器

qq_45325304的博客 1万+

springdata jpa Example、Pageable分页查询使用

springdata jpa Example、Pageable分页查询使用 ExampleMatcher实例查询三要素 实体对象:在ORM框架中与Table对应的域对象,一个对象代表数据库表中的一条记录,如上例中User对象,对应user表。在构建查询条件时,一个实体对象代表的是查询条件中的“数值”部分。如:要查询姓“X”的客户,实体对象只需要存储条件值“X”。 匹配器:Examp...

你当像鸟飞往你的山~~ 5319

2011-2024年间各省数字普惠金融指数数据(覆盖广度、使用深度和数字化程度)

2、指标:数字金融普惠指数、数字金融覆盖广度指数、数字金融使用深度指数、普惠金融数字化程度指数、数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。中国各省的数字普惠金融指数数据,从数字金融覆盖广度、数字金融使用深度和普惠金融数字化程度3个维度来构建数字普惠金融指标体系。数字普惠金融指数一共3个维度、33项具体指标。全套指数包含数字金融覆盖广度指数、数字金融使用深度指数和普惠金融数字化程度指数,以及数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。

【优快云】 1万+

Springdata jpa 的分页查询

  之前用springdata jap做分页,花费了很多时间,最后在网上找了一些资料,现在分享出来,希望对大家有一些帮助; 直接上代码: 1、Controller部分省略。。。。 service: Pageable pageable = new PageRequest(studentQuery.getPage() - 1, studentQuery.getRows(), Sort.D...

农民娃儿的博客 509

还在纠结二层交换机和三层交换机的区别?这篇文章帮你讲明白!

你好,这里是网络技术联盟站,我是瑞哥。公众号后台有小伙伴想要写一篇文章具体介绍一下二层交换机和三层交换机,此类的文章,之前写过几篇,今天瑞哥再写一篇,希望对大家有所帮助!

网络技术联盟站 4441

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

springdata jpa带模糊条件分页查询

Dao层 public interface BookDao extends JpaRepository<Book,Integer>, JpaSpecificationExecutor<Book> { } serviceImpl实现类的代码 @Autowired BookDao bookDao; /** * jap带单个条件的分页查询 * @param queryPageBean * @return */ @O

军大君的博客 823

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

springBoot整合springdata Jpa的基本使用以及带条件的分页查询

一、springBoot整合springData Jpa 在application.properties中声明启用如下: spring.datasource.name=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://localhost:3306/mst?useSSL=false spring....

pycharm_u的博客 2720

SpringData JPA联表分页查询需要使用countQuery属性

定义一个特殊的count查询,用于分页查询时,查找页面元素的总个数。如果没有配置,将根据方法名派生一个count查询。属性中与计数查询一起提供。此查询在结果查询之后单独执行,其结果用于填充返回的 Page 的 totalCount 属性。countQuery用于分页,如果要求分页结果返回正确的总计数,属性计算出总数的话,会在查询的时候进行报错。进行分页查询的时候,如果不是用。...

叉叉不低头 3320

Spring Data JPA分页查询

使用Spring Data JPA的朋友,在实际工作中经常需要用到分页查询。下面介绍一个简单的分页查询的例子:查询学生信息,每页10行数据,并按成绩排序。先看数据表:   实现:repo需要继承PagingAndSortingRepository,如下: public interface StudentRepo extends CrudRepository&lt;StudentEntity...

liuyunyihao的博客 3407

spring data jpa实现有条件的分页查询功能

spring data jpa实现有条件的分页查询功能 前端部分代码。发送请求: $('#grid').datagrid({ iconCls: 'icon-forward', fit: true, border: false, rownumbers: true, striped: true, pageList: [30, 50, 10

学亮编程手记 1万+

java+jpa+多条件查询_java相关:Spring Data JPA 复杂/多条件组合分页查询

java相关:Spring Data JPA 复杂/多条件组合分页查询发布于 2020-6-25|复制链接本文主要介绍了Spring Data JPA 复杂/多条件组合分页查询的相关资料。具有很好的参考价值。下面跟着小妖一起来看下吧话不多说,请看代码:```javapublic Map getWeeklyBySearch(final Map serArgs,String pageNum, Stri...

weixin_42299140的博客 259

SpringData JPA查询分页demo

SpringData JPA 的 PagingAndSortingRepository接口已经提供了对分页的支持,查询的时候我们只需要传入一个 org.springframework.data.domain.Pageable 接口的实现类,指定PageNumber和pageSize即可 springData包中的 PageRequest类已经实现了Pageable接口,我们可以直接使用下边是部

maguanghui_2012的专栏 777

spring Data Jpa的分页管理

通过Jpa大大简化了我们对数据库的开发工作。但是,之前的例子中我们只提到了最简单的CRUD(增删改查)操作。实际上,Spring Data Jpa对于分页以及排序的查询也有着完美的支持,接下来,我们来学习如何通过Pageable来对数据库进行分页查询。 一 Pageable 是Spring Data库中定义的一个接口,该接口是所有分页相关信息的一个抽象,通过该接口,我们可以得到和分页相关所有信...

weixin_41049260的博客 376

SpringData JPA @Query分页查询Exception问题解决方案

Caused by: org.springframework.data.jpa.repository.query.InvalidJpaQueryMethodException: Cannot use native queries with dynamic sorting and/or pagination in method public abstract org.springframework.

爱编程~爱大牛~ 8725

SpringData JPA实现单表多条件分页查询

public Page findDeviceByParams(int pageNo, int pageSize, String rIndexCode, String name, String parentDevice) { try{ Specification specification = new Specification(...

weixin_38170137的博客 507

spring data jpa实现分页查询功能

spring data jpa实现分页查询功能 HTML代码部分: // 收派标准信息表格 $('#grid').datagrid( { iconCls : 'icon-forward', fit : true, border : false, rownumbers : true, striped : true, pageList:

学亮编程手记 2739
上一篇: spring data jpa 定义全局接口BaseDao
下一篇: spring data jpa使用二级缓存
SnakeMoving
博客等级 码龄11年 65粉丝 97原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值