WITSKY 智天网

JPA 架构师是如何从零开始创建一个简单且实用的 JPA 项目的?

JPA(Java Persistence API)是一个 Java 编程语言的规范,目的是为了简化了数据持久化的过程,JPA 也是一套标准,可以让你使用 Java 开发数据库应用程序。我们将通过一个简单的示例来介绍 JPA。
JPA 架构师是如何从零开始创建一个简单且实用的 JPA 项目的?

1. 创建一个新的 Java 项目。

  • 打开你的集成开发环境 (IDE),创建一个新的 Java 项目。
  • 在项目中创建一个名为 `src/main/java` 的包。
  • 2. 添加 JPA 库到项目中。

  • 在项目的依赖项配置文件中添加 JPA 库。
  • 在 Maven 项目中,在 `pom.xml` 文件中添加以下依赖项:
  • ```

    javax.persistence

    javax.persistence-api

    2.2

    ```

  • 在 Gradle 项目中,在 `build.gradle` 文件中添加以下依赖项:
  • ```

    dependencies {

    implementation 'javax.persistence:javax.persistence-api:2.2'

    }

    ```

    3. 创建一个实体类。

  • 在 `src/main/java` 创建一个新的 Java 类。
  • 这个类代表数据库中的一个表,我们将其称为 `Student`。
  • 在 `Student` 类中,添加以下代码:
  • ```

    import javax.persistence.*;

    @Entity

    public class Student {

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Long id;

    private String name;

    private int age;

    // getters and setters

    }

    ```

    4. 创建一个持久性单元。

  • 在 `src/main/resources` 文件夹中创建一个名为 `persistence.xml` 的文件。
  • 在 `persistence.xml` 文件中,添加以下内容:
  • ```

    xmlns="http://xmlns.jcp.org/xml/ns/persistence"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence

    http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

    org.hibernate.jpa.HibernatePersistenceProvider

    com.example.Student

    ```

    5. 创建一个实体管理器工厂。

  • 在你的代码中,创建一个 `EntityManagerFactory` 对象。
  • 这个对象用于创建 `EntityManager` 对象,`EntityManager` 对象用于管理实体。
  • 在 `main()` 方法中,添加以下代码:
  • ```

    import javax.persistence.EntityManagerFactory;

    import javax.persistence.Persistence;

    public class Main {

    public static void main(String[] args) {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPU");

    // ...

    }

    }

    ```

    6. 创建一个实体管理器。

  • 从 `EntityManagerFactory` 对象中创建一个 `EntityManager` 对象。
  • `EntityManager` 对象用于管理实体。
  • 在 `main()` 方法中,添加以下代码:
  • ```

    import javax.persistence.EntityManager;

    public class Main {

    public static void main(String[] args) {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPU");

    EntityManager em = emf.createEntityManager();

    // ...

    }

    }

    ```

    7. 持久化实体。

  • 要将实体持久化到数据库中,可以使用 `persist()` 方法。
  • 在 `main()` 方法中,添加以下代码:
  • ```

    public class Main {

    public static void main(String[] args) {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPU");

    EntityManager em = emf.createEntityManager();

    Student student = new Student();

    student.setName("John Doe");

    student.setAge(21);

    em.persist(student);

    // ...

    }

    }

    ```

    8. 提交事务。

  • 在你对数据库进行任何更改后,你需要提交事务。
  • 这将确保更改被持久化到数据库中。
  • 在 `main()` 方法中,添加以下代码:
  • ```

    public class Main {

    public static void main(String[] args) {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPU");

    EntityManager em = emf.createEntityManager();

    Student student = new Student();

    student.setName("John Doe");

    student.setAge(21);

    em.persist(student);

    em.getTransaction().commit();

    // ...

    }

    }

    ```

    9. 查询实体。

  • 要查询实体,可以使用 `find()` 方法。
  • 在 `main()` 方法中,添加以下代码:
  • ```

    public class Main {

    public static void main(String[] args) {

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("myPU");

    EntityManager em = emf.createEntityManager();

    Student student = em.find(Student.class, 1L);

    // ...

    }

    }

    ```

  • 运行代码,你将看到输出:
  • ```

    Student [id=1, name=John Doe, age=21]

    ```

    标签:JPA,Java Persistence API,实体,持久性单元,实体管理器,实体管理器工厂,事务,查询。

    兴趣推荐

    • 形而上:探索事物本质和存在的终极奥秘

      1年前: 形而上,这个词语常常让人觉得晦涩难懂,但它其实与我们的生活息息相关,因为它是关于事物本质和存在的终极追问。在本文中,我们将一起探索形而上的奥秘,从哲学家的视角审视这个世界,并尝试理解我们存在的意义。

    • J2EE:Java 企业级开发平台的进阶指南

      1年前: 欢迎来到 J2EE 的世界!作为一名 Java 开发人员,你是否曾经梦想过构建出色的企业级应用程序?J2EE 就是你实现梦想的必备工具。它是一个强大的 Java 平台,可以帮助你轻松创建可扩展、可靠和安全的企业级应用程序。跟我一起踏上 J2EE 的学习之旅,我们将深入探索它的组件、优势和应用场景。

    • Redis 命令:让数据管理更加轻松

      1年前: Redis 作为一种开源的高速键值对数据库,因其出色的性能和简单易用的特性而被广泛应用在各种场景中。为了让大家更好地使用 Redis,本文将介绍常用的 Redis 命令,从基本命令到高级命令,涵盖了数据插入、查询、删除等各种操作,帮助大家快速掌握 Redis 的使用技巧,让数据管理更加轻松。

    • 处理的拼音

      1年前: “处理”一词在汉语拼音中的读音为chǔ lǐ,它是一个动词,表示对事物进行加工、整理、解决等。在日常生活中,“处理”一词的使用非常广泛,涉及到各个领域。

    • ACID:数据库事务及其特性

      10个月前: 如果你经常与数据库打交道,你一定听过“ACID”这个缩写词。它代表着数据库事务的四个基本特性,这些特性确保了数据库中数据的完整性和一致性。让我们深入了解一下ACID及其对数据库的重要性。

    • 《行政诉讼法》司法解释:一把打开行政诉讼大门的金钥匙

      7个月前: 大家好,欢迎来到法律漫谈栏目。今天,我们就来聊聊《行政诉讼法》司法解释。它可是行政诉讼中不可或缺的一把金钥匙,有了它,我们才能更有效地维护自己的合法权益。