整理:硬核架构师

数据JPA

Data JPA(数据JPA)是一个高级的源项目。它的目的是统一和简化对不同类型的持久化存储(包括关系型数据库系统和NoSQL数据存储)的访问。

当我们实现一个新的应用程序时,应该将重点放在业务逻辑上,而不是技术复杂性和样板代码上。这就是为什么Java持久化API(JPA)规范和 Data JPA非常受欢迎。

Data JPA在JPA之上添加了一层。这意味着 Data JPA使用了JPA规范定义的所有特性,特别是实体、关联映射和JPA的查询能力。 Data JPA还添加了自己的特性,例如无代码实现存储库模式和根据方法名称创建数据库查询。

Data JPA(数据JPA)是一个高级的源项目。它的目的是统一和简化对不同类型的持久化存储(包括关系型数据库系统和NoSQL数据存储)的访问。

当我们实现一个新的应用程序时,应该将重点放在业务逻辑上,而不是技术复杂性和样板代码上。这就是为什么Java持久化API(JPA)规范和 Data JPA非常受欢迎。

Data JPA在JPA之上添加了一层。这意味着 Data JPA使用了JPA规范定义的所有特性,特别是实体、关联映射和JPA的查询能力。 Data JPA还添加了自己的特性jpa分页,例如无代码实现存储库模式和根据方法名称创建数据库查询。

资源分享
点击领取最全Java资料合集!650G!

Data JPA

Data JPA处理了大部分基于JDBC的数据库访问和ORM(对象关系映射)的复杂性。它减少了JPA所需的样板代码。它使持久化层的实现更加简单和快速。

Data JPA旨在通过减少所需的工作量来改进数据访问层的实现。

Data JPA的特性

Data JPA有三个主要特性,如下:

无代码存储库:这是最流行的持久化相关模式。它使我们能够在更高的抽象级别上实现业务代码。减少样板代码:它为每个方法提供了默认实现,通过其存储库接口。这意味着不再需要实现读写操作。生成的查询: Data JPA的另一个特性是根据方法名称生成数据库查询。如果查询不太复杂,我们只需要在存储库接口中定义一个以开头的方法。定义了该方法后,会解析方法名称并为其创建一个查询。例如:

public interface EmployeeRepository extends CrudRepository<Employee, Long> {      Employee findByName(String name);  }

在上面的示例中,我们扩展了,它使用了两个泛型:和Long。是要管理的实体,Long是主键的数据类型。

在内部根据方法名称生成一个JPQL(Java持久化查询语言)查询。该查询是根据方法签名派生的。它设置绑定参数值,执行查询,并返回结果。

其他一些特性包括:

Data

Data JPA提供了三种不同的接口,如下所示:

1.:它提供了标准的创建、读取、更新和删除操作。包含方法如()、()、save()、()等。

2.:它扩展了jpa分页,并添加了()方法。它允许我们以分页的方式排序和检索数据。

3.:它是一个特定于JPA的存储库,在 Data JPA中定义。它继承了和两个接口,并添加了JPA特定的方法,例如flush()用于触发持久化上下文的刷新。

<dependency>  <groupId>org.springframework.data</groupId>  <artifactId>spring-data-jpa</artifactId>  <version>2.2.3.RELEASE</version>  </dependency>  

Boot Data JPA

Boot提供了-boot--data-jpa依赖项,用于高效地连接应用程序与关系型数据库。-boot--data-jpa内部使用-boot-jpa依赖项(从 Boot版本1.5.3开始)。

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-data-jpa</artifactId>  <version>2.2.2.RELEASE</version>  </dependency>  

数据库被设计为具有表/关系。早期的方法(JDBC)涉及编写SQL查询。在JPA中,我们将数据从对象存储到表中,反之亦然。但是,JPA是作为一种不同思维过程的结果而发展的。

在JPA之前,ORM是更常用用于引用这些框架的术语。这就是被称为ORM框架的原因。

JPA允许我们将应用程序类映射到数据库中的表。

实体管理器( ):一旦我们定义了映射,它处理与数据库的所有交互。

JPQL(Java持久化查询语言):它提供了一种编写查询以执行针对实体的搜索的方式。它与SQL查询不同。JPQL查询已经理解了在实体之间定义的映射。如果需要,我们可以添加额外的条件。

API:它定义了一种基于Java的API,用于执行针对数据库的搜索。

vs. JPA

是JPA的实现。它是最流行的ORM框架,而JPA是定义规范的API。

理解我们在对象和表之间添加的映射。它确保根据映射从数据库检索/存储数据。它还在JPA的基础上提供了其他功能。

Boot JPA示例

在这个示例中,我们将使用-boot--data-jpa依赖项与H2数据库建立连接。

步骤1:打开 。

步骤2:提供Group名称。我们提供了cn.。

步骤3:提供 Id。我们提供了-boot-jpa-。

步骤4:添加依赖项: Web、 Data JPA和H2数据库。

步骤5:点击按钮。当我们点击按钮时,它会将项目打包为Jar文件并下载到本地系统。

步骤6:解压Jar文件并将其粘贴到STS工作区中。

步骤7:将项目文件夹导入到STS中。

文件 -> 导入 -> 存在的Maven项目 -> 浏览 -> 选择文件夹-boot-jpa- -> 完成

导入需要一些时间。

步骤8:在src/main/java文件夹中创建名为cn..的包。

步骤9:在cn..包中创建名为的类。

.java

package cn.javatiku.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class ControllerDemo{@RequestMapping("/")public String home(){return "home.jsp";}}

步骤10:在src/main/java文件夹中创建名为cn..model的另一个包。

步骤11:在cn..model包中创建名为User的类。

User.java

package cn.javatiku.model;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="userdata")public class User{@Idprivate int id;private String username;public int getId(){return id;}public void setId(int id){this.id = id;}public String getUname(){return username;}public void setUname(String username){this.username = username;}@Overridepublic String toString(){return "User [id=" + id + ", uname=" + username + "]";}}

现在我们需要配置H2数据库。

步骤12:打开.文件并配置以下内容:端口、启用H2控制台、数据源和URL。

.

server.port=8085spring.h2.console.enabled=truespring.datasource.plateform=h2spring.datasource.url=jdbc:h2:mem:javatpoint

步骤13:在src/main/文件夹中创建一个SQL文件。

右键单击文件夹src/main/ -> 新建 -> 文件 -> 提供文件名 -> 完成

我们提供了文件名data.sql,并将以下数据插入其中。

data.sql

into userdata values(101,'Tom');insert into userdata values(102,'Andrew');insert into userdata values(103,'Tony');insert into userdata values(104,'Bob');insert into userdata values(105,'Sam');

步骤14:在src文件夹中创建名为的文件夹。

步骤15:创建一个JSP文件,其名称与我们在中返回的名称相同。在.java中,我们返回了home.jsp。

home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><html><head><meta charset="ISO-8859-1"><title>Insert title here</title></head><body><form action="addUser">ID :<br /><input type="text" name="t1"><br />User name :<br /><input type="text" name="t2"><br /><input type="submit" value="Add"></form></body></html>

步骤16:运行.java文件。我们可以在控制台中看到我们的应用程序成功运行在端口8085上。

jpa分页_分页符快捷键_分页预览怎么重新分页

步骤17:打开浏览器,输入URL :8085/h2-/。它会显示在.文件中配置的驱动程序类、JDBC URL,以及默认的用户名sa。

步骤17:我们还可以通过点击“Test ”按钮来测试连接。如果连接成功,它会显示“Test ”消息。

步骤18:点击“”按钮。它会显示我们在User.java中定义的表的结构。

步骤19:执行以下查询以查看我们在data.sql文件中插入的数据

SELECT * FROM USERDATA;

分页符快捷键_分页预览怎么重新分页_jpa分页

分页符快捷键_jpa分页_分页预览怎么重新分页热门推荐

jpa分页_分页符快捷键_分页预览怎么重新分页

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注