JPA的分页查询

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

JPA的分页查询:

第一步:首先要用jap导入依赖:jpa是一种规范,要使用需导入实现了规范的hibernate。

<properties>
			<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
			<project.hibernate.version>5.0.7.Final</project.hibernate.version>
		</properties>

		<dependencies>
			<!-- junit -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.12</version>
				<scope>test</scope>
			</dependency>
	
			<!-- hibernate对jpa的支持包 -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
				<version>${project.hibernate.version}</version>
			</dependency>
	
			<!-- c3p0 -->
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-c3p0</artifactId>
				<version>${project.hibernate.version}</version>
			</dependency>
	
			<!-- log日志 -->
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.17</version>
			</dependency>
	
			<!-- Mysql and MariaDB -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.6</version>
			</dependency>
		</dependencies>

第二步:需要在resources目录创建固定包META-INF并配置xml

	<?xml version="1.0" encoding="UTF-8"?>
		<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
			<!--需要配置persistence-unit节点
				持久化单元:
					name:持久化单元名称
					transaction-type:事务管理的方式
					JTA:分布式事务管理
					RESOURCE_LOCAL:本地事务管理
			-->
			<persistence-unit name="myJpa" transaction-type="RESOURCE_LOCAL">
				<!--jpa的实现方式 -->
				<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
				<properties>
					<!-- 数据库信息
					用户名,javax.persistence.jdbc.user
					密码,  javax.persistence.jdbc.password
					驱动,  javax.persistence.jdbc.driver
					数据库地址   javax.persistence.jdbc.url
					-->
					<property name="javax.persistence.jdbc.user" value="root"/>
					<property name="javax.persistence.jdbc.password" value="root"/>
					<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
					<property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa"/>
					<property name="hibernate.show_sql" value="true" />
					<!--update,create,no-->
					<property name="hibernate.hbm2ddl.auto" value="update" />
			</properties>
	
		</persistence-unit>
	</persistence>

第三步配置实体类映射关系:

主要用到的注解有:
			@Entity//类太多,声明我是实体类
			@Table(name = "***")//对应数据库名称
			@Id//指明属性是id
			@GeneratedValue(strategy = 		   GenerationType.IDENTITY)
			    TABLE,//创建一张表实现自增长,数据库都可以用
				SEQUENCE,//oracle序列自增长
				IDENTITY,//mysql实现自增长
				AUTO;//自己选择
				@Column(name = "****")//配置属性和数据库字段的对应关系

第四步:分页查询

EntityManagerFactory factory= Persistence.createEntityManagerFactory("myJpa");
    EntityManager em = factory.createEntityManager();
    EntityTransaction tx = em.getTransaction();
    tx.begin();
	//复杂查询无法生成sql语句,提供了jpql。
	String jpql="from Customer";
    Query query = em.createQuery(jpql);
	//开始索引
    query.setFirstResult(0);
	//每页显示条数
    query.setMaxResults(3);
    List list = query.getResultList();
    tx.commit();
JPA entityManager 实现 分页查询 @Override public PageModel queryForPager(int pageNumber, int pageSize, Class entityClass, String condition, String sort,HttpServletRequest request, Object... params) { EntityManager entityManage 阅读详情

相关推荐

Springboot 快速学会使用 JPA 分页查询

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

默默不代表沉默 6305

JPA三种分页查询

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

小小小啊伟的博客 2万+

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

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

AI天才研究院 3265

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

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

这里是阿安的博客 3665

【NLG】(六)文本生成评价指标—— ROUGE原理及代码示例

前奏: 【NLG】(一)文本生成评价指标——BLEU原理及代码示例 【NLG】(二)文本生成评价指标—— METEOR原理及代码示例 【NLG】(三)文本生成评价指标—— ENTROPY原理及代码示例 【NLG】(四)文本生成评价指标—— diversity原理及代码示例 【NLG】(五)文本生成评价指标—— kl_divergence原理及代码示例 1.ROUGE原理 2.优缺点 3.如何算ROUGE ...

凝眸伏笔的博客 1万+

【C++】C++异常语法、使用、规范、异常安全及异常的优缺点

实际中我们可以可以去继承exception类实现自己的异常类。但是实际中很多公司像上面一样自己定义一套异常继承体系。因为C++标准库设计的不够好用。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。C++ 提供了一系列标准的异常,定义在 中,我们可以在程序中使用这些标准的异常。异常是一种处理错误的方式,

weixin_51692487的博客 1525

JPA分页查询与条件分页查询

JPA分页查询与条件分页查询 情有独钟的JPA 平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件查询以及查询列表分页呢? 关于JPA的使用 关于 jpa 的使用,下面2步简单过一下,详细资料,小伙伴自行搜索一...

niceyoo的博客 3万+

Windows10 Qt下用MINGW 编译VTK-8.1.0

1. 材料准备(1) 下载VTK-8.1.0: https://www.vtk.org/download/(2) 下载TIFF库: http://gnuwin32.sourceforge.net/packages/tiff.htm(直接安装即可,注意选择路径不包含中文字符)2. 安装: (1) cmake配置: a. Module下配置:勾选下图所示的六项 b. Build 配置:勾选这里能够在b...

hit1524468的专栏 3893

SpringBoot ——JPA分页查询

JpaRepository提供了如下表所述的内置查询: 方法 描述 List findAll() 返回所有实体 List findAll(Iterable ids) 返回指定id的所有实体 T getOne(ID id) 根据id返回对应的实体,如果未找到,则返回空 List findAll(Sort sort) 返回所有实体,按照指定顺序排序返回 ...

ljcgit的博客 8077

告别城市峡谷定位漂移:手把手教你用PSINS仿真INS/NHC/ODO组合导航(附代码获取)

本文详细解析了INS/NHC/ODO组合导航系统在城市峡谷环境中的应用,通过PSINS平台实现精准定位。文章涵盖核心原理、环境搭建、算法实现及性能优化,帮助开发者解决GNSS信号中断时的定位漂移问题,提升自动驾驶系统在复杂环境中的可靠性。

weixin_30329623的博客 430

避坑指南:在Linux服务器上用Conda安装antiSMASH 5.2.0(解决Jinja2报错和Matplotlib权限问题)

本文详细介绍了在Linux服务器上使用Conda安装antiSMASH 5.2.0的避坑指南,重点解决了Jinja2报错和Matplotlib权限问题。通过创建专用conda环境、安装指定版本依赖包和配置缓存目录,帮助用户顺利完成antiSMASH的本地部署,适用于批量处理基因组分析任务。

weixin_26911099的博客 316

使用jpa的注解@Query 进行分页查询

参考文章:使用jpa的注解@Query 进行分页查询 jpa本身自带分页方法: repository.findAll(example,Pageable); 如果要使用复杂条件查询,需要自己写SQL/HQL。 在@Query中使用分页查询方法如下: /** * 分页查询功能 */ @Query("select t.id, t.taskName, t.subTaskName, t....

justlpf的专栏 9818

嵌入式工程师必学(118):MCU的硬件定时器和中断

大多数微处理器都有一个或多个可编程硬件定时器,这些定时器包括对中断的支持。可以有不同类型的计时器,用于不同的应用程序。例如,LPC1768 具有四个 32 位通用定时器、一个看门狗定时器、一个重复中断定时器、一个系统滴答定时器、一个正交编码器接口、6 个 PWM 输出和一个支持中断的实时时钟。硬件定时器用于计时和计数作,允许处理器在 timer 进程运行时继续执行其他进程。硬件定时器是一种使用 clock 信号来增加 register 的电路。

码农17年的博客 211

JPA 多表分页查询

第一次接触到使用JPA + hibernate 实现分页查询,在此记录一下,以备以后参考 。java代码仅实现简单的分页查询,更复杂的SQL通过视图实现。 import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecific...

fz250052的博客 2798

AUTOSAR进阶图解==>AUTOSAR_SWS_CANNetworkManagement

本文介绍了AUTOSAR架构中的CAN网络管理(CanNm)模块,主要内容包括: 模块概述:CanNm是协调CAN网络节点状态转换的基础组件,采用去中心化设计,通过周期性发送网络管理PDU保持网络活跃状态,支持网络唤醒、睡眠和部分网络功能。 架构设计:CanNm位于AUTOSAR中间层,连接上层通信管理器(ComM)和底层CAN接口(CanIf),包含状态管理、PDU处理和定时器管理等子组件。 状态机设计:定义了三种主要模式(总线睡眠、准备睡眠和网络模式)及其转换逻辑,网络模式又包含重复消息、正常操作和准备

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 2041

openclaw update时出现Skipped:this OpenClaw install isn‘t a git checkout,and the package manager解决方案

本文主要介绍了openclaw update时出现openclaw update时出现Skipped:this OpenClaw install isn’t a git checkout,and the package manager解决方案,希望能对使用openclaw的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 12万+

SpringData JPA分页查询

首先我们需要知道SpringData JPA 的几个接口 其实看名字就大概懂了,也可以很方便的使用 首先我们的持久化层继承JpaRepository,相当于继承了增删改查的持久化层以及分页查询的持久化层 所以如果我们要使用分页查询 ,我们只需要直接调用 由一开始的图也可以看到Pageable的其中一个实现,直接新建一个对象传给你的持久层即可 下面是

心有猛虎,细嗅蔷薇 1415

WINCC7.3破解文件

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

jpa mysql分页_JPA分页查询与条件分页查询

情有独钟的JPA平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件查询以及查询列表分页呢?关于JPA的使用关于 jpa 的使用,下面2步简单过一下,详细资料,小伙伴自行搜索一下吧~1、导入依赖org.springframework.bootspring-boot-sta...

weixin_42515336的博客 528

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JPA动态分页查询

本次项目开发用到了JPA,之前只是使用过mybatis,所以针对JPA的动态分页查询这块不是很了解,在这里记录一下。 public BasePage<HistoryVehiclePassDO> getDetails(Condition content ) { if (ObjectUtils.isNotEmpty(content )) { BasePage<HistoryVehiclePassDO> basePage = ne

The_Best_Hacker的博客 732

jpa hibernate分页查询

工具类pageutils /** * 当前页 */ private int currentPage; /** * 每页数据条数 */ private int pageSize; /** * 经销商 */ private Dealer dealer; /** * 贷款 */ private Loan loan; /** * 起始时间

malachi95的博客 1394

jpa mysql sql分页查询语句_JPA分页查询与条件分页查询

情有独钟的JPA平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件查询以及查询列表分页呢?关于JPA的使用关于 jpa 的使用,下面2步简单过一下,详细资料,小伙伴自行搜索一下吧~1、导入依赖org.springframework.bootspring-boot-sta...

weixin_42524308的博客 650

JPA分页查询

Pageable pageable = PageRequest.of(PageNum -1, PageSize); Specification<对象> specification = new Specification<对象>() { @Override public Predicate toPredica...

mdw5521的博客 397

Spring data jpa 查询条件+分页查询

1,依赖 2,application.yml server: port: 8082 #数据库连接 spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/my_test?useUnicode=true&characterEncoding=utf-8 username: root password: root .

我爱吃红薯的博客 3330
上一篇: mysql的分页查询
下一篇: 转载(详解oracle分页查询的基础原理)
CaculateByte
博客等级 码龄9年 7粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值