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万+

不用标注数据!用SAM 3零成本搞定遥感图像分割:SegEarth-OV3保姆级上手教程

本文介绍了如何利用SAM 3和SegEarth-OV3实现零标注遥感图像分割,提供从环境配置到结果优化的完整教程。通过开放词汇语义分割技术,用户无需标注数据即可快速获得专业级分割结果,适用于光伏板统计、灾害评估等场景。

weixin_30415113的博客 586

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

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

这里是阿安的博客 3663

从零开始学习信号完整性(SIPI)--2

上一节我们已经谈过,信号完整性研究的是如何使驱动器输出的信号传输到接收器件并被正确的接收。 信号完整性的三要素包含了:信号、驱动接收芯片、传输通道。 这其中信号是主体,我们要做的主要工作就是设计好信号的传输路径为信号的正确传输扫清障碍。要做信号完整性分析与设计首先要了解信号的特性,以及信号质量的判别标准。 对一个信号进行描述通常需要如下几个指标: 信号特性的描述 摆幅:信号从低电平到高电平之间的电压差,对于单端信号通常由信号的供电电压决......

qq_29476769的博客 2万+

ParallelsDesktop 安装 CentOS-6.9-x86_64-minimal 教程

安装参考 tools没做 想安装的可以参考这个 mac 本机环境: 系统:macOS Catalina version 10.15.6 虚拟机软件:parallels Desktop 15 for Mac( Parallels Desktop-15.1.4(47270)) Centos镜像: CentOS-6.9-x86_64-minimal.iso https://mirrors.aliyun.com/centos-vault/6.8/isos/x86_64/ http://vault.centos.

爱吃鱼的小明的博客 955

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

多核系统核间通信(IPC)设计:从硬件机制到软件实现

在多核处理器与嵌入式系统设计中,核间通信(IPC)是实现计算资源协同工作的核心技术。其原理基于共享内存、硬件邮箱与中断等底层硬件机制,通过构建结构化的消息传递通道,实现核间高效、可靠的数据交换。该技术的核心价值在于打破多核间的壁垒,将分散的计算单元整合为有机整体,从而显著提升系统整体性能与响应能力。在工程实践中,IPC广泛应用于智能座舱、边缘AI网关、实时控制系统等场景,用于处理如仪表显示、AI推理、实时控制等复杂任务。本文聚焦于基于共享内存与VRING的消息队列实现,深入剖析缓存一致性、内存屏障等关键问题

weixin_27006759的博客 598

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

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

Veggie的博客 1万+

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册

本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。

weixin_29214199的博客 471

矢量网络分析仪(矢网)组成和原理简介

一、概述 矢量网络分析仪是一种常见的射频测量仪器,主要用来测量高频器件、电路及系统的性能参数,如线性参数、非线性参数、变频参数等。 1.1 分类 矢量网络分析仪一般以频率来划分,截止频率越高,价格也越贵; 根据测试端口的数量可分为:双端口、 3 端口、 4 端口、 6 端口; 常见的厂家有:美国的安捷伦( Agilent)、德国的罗德与施瓦茨( R&S) , 国内的有南京普纳和中电 41 所。 1.2 常用功能 常用的测试器件有:功分器、合路器、滤波器、衰减器、天线、电缆、放大器、混频器、双工器、耦

大音希声 5万+

springdata jpa Example、Pageable分页查询使用

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

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

电磁流量计模拟前端电路设计与优化

模拟前端电路(AFE)是传感器信号处理的核心环节,通过放大、滤波和模数转换实现信号调理。其设计需重点考虑放大器共模抑制比(CMRR)和ADC分辨率等关键参数,在电磁流量计等工业测量应用中,AD8220仪表放大器与AD7172-2 Σ-Δ型ADC的组合能有效简化传统多级架构。现代过采样技术结合数字滤波可替代模拟滤波器,显著提升系统集成度与测量精度,这种设计方法同样适用于压力传感、生物电信号采集等需要高精度信号调理的场景。

weixin_42602241的博客 618

Springdata jpa 的分页查询

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

农民娃儿的博客 509

超10万,两台Mac Studio在家就能跑满血DeepSeek,网友:这是性价比最高的大模型一体机

在AI计算领域,没有比这更强的个人电脑了。这要从它的架构说起。对于那些有本地部署满血版DeepSeek需求的用户,目前建议的配置是选购512GB统一内存 + 1TB SSD,搭载M3 Ultra芯片的Mac Studio,官网售价74249元,可以叠加国补、教育优惠、12期分期等,这可能是目前门槛最低、性价比最高的满血版DeepSeek本地部署方案。对于企业而言,尽管Mac Studio确实可以部署6000亿参数的大模型,但在内存带宽、模型精调服务等方面,跟专用的大模型一体机仍有差距,采购需要谨慎评估。

2501_90444774的博客 1917

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

springdata jpa带模糊条件分页查询

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

军大君的博客 823

WINCC7.3破解文件

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

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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、付费专栏及课程。

余额充值