Ganz einfach, lernen Sie JPA

JPA (Java Persistence API) ist eine API in Java EE zur Verwaltung der Zuordnung zwischen Java-Objekten und relationalen Datenbanken. Dabei handelt es sich um ein ORM-Framework (Object-Relational Mapping), das es Entwicklern ermöglicht, Datenbanken objektorientiert zu betreiben, ohne sich um die Details von SQL-Anweisungen kümmern zu müssen. In diesem Artikel lernen wir JPA kurz und bündig kennen und demonstrieren seine Verwendung anhand von Java-Codebeispielen.

Grundkonzepte von JPA

Bevor wir JPA verwenden, müssen wir einige grundlegende Konzepte verstehen:

  • Entitätsklasse: In JPA bezieht sich eine Entitätsklasse auf eine Java-Klasse, die einer Datenbanktabelle entspricht. Die Attribute in der Entitätsklasse weisen eine Eins-zu-eins-Entsprechung mit den Spalten in der Datenbanktabelle auf.
  • Entitätsmanager (Entitätsmanager): Der Entitätsmanager ist eine Kernkomponente in JPA, die zur Verwaltung des Lebenszyklus von Entitätsklassen verwendet wird, einschließlich Vorgängen wie Erstellung, Aktualisierung und Löschung.
  • Entitätstransaktion: Entitätstransaktion ist ein Konzept in JPA, das verwendet wird, um die Konsistenz von Entitätsklassen in der Datenbank sicherzustellen.

Verwendung von JPA

Nachfolgend demonstrieren wir die Verwendung von JPA anhand eines einfachen Beispiels. Angenommen, wir haben eine Benutzer-Entitätsklasse, die der Benutzertabelle in der Datenbank entspricht. Die Benutzerklasse ist wie folgt definiert:

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private Integer age;

    // 省略 getter 和 setter 方法
}

Im obigen Code verwenden wir JPA-Annotationen, um Entitätsklassen zu definieren. Die Annotation @Entity gibt an, dass es sich um eine Entitätsklasse handelt, und die Annotation @Table gibt an, dass diese Klasse der Benutzertabelle in der Datenbank entspricht. Die Annotationen @Id, @GeneratedValue und @Column geben jeweils an, dass es sich bei der Eigenschaft um den Primärschlüssel handelt, der automatisch generiert wird und den Spalten in der Datenbanktabelle entspricht.

Als nächstes müssen wir einen Entity-Manager erstellen. In JPA können wir EntityManagerFactory verwenden, um EntityManager zu erstellen. EntityManagerFactory ist threadsicher und kann in der gesamten Anwendung verwendet werden.

EntityManagerFactory factory = Persistence.createEntityManagerFactory("my-persistence-unit");
EntityManager entityManager = factory.createEntityManager();

Im obigen Code verwenden wir die Methode „createEntityManagerFactory“ der Persistence-Klasse, um die EntityManagerFactory zu erstellen. Diese Methode muss einen Parameter übergeben, nämlich den Namen der Persistenzeinheit. In der Datei persistence.xml müssen wir die Persistenzeinheit definieren und die Datenquelle und andere Informationen angeben.

Als nächstes können wir EntityManager für CRUD-Operationen verwenden. Hier ist ein Beispielcode:

// 创建一个新的用户
User user = new User();
user.setName("Tom");
user.setAge(20);
entityManager.getTransaction().begin();
entityManager.persist(user);
entityManager.getTransaction().commit();

// 查询所有用户
TypedQuery<User> query = entityManager.createQuery("SELECT u FROM User u", User.class);
List<User> users = query.getResultList();

// 更新用户信息
entityManager.getTransaction().begin();
User userToUpdate = entityManager.find(User.class, 1L);
userToUpdate.setName("Jerry");
userToUpdate.setAge(25);
entityManager.getTransaction().commit();

// 删除用户
entityManager.getTransaction().begin();
User userToDelete = entityManager.find(User.class, 1L);
entityManager.remove(userToDelete);
entityManager.getTransaction().commit();

Im obigen Code verwenden wir die Methoden persist, createQuery, find, Remove und andere von EntityManager, um CRUD-Vorgänge auszuführen. Bevor wir fortfahren, müssen wir eine Entitätstransaktion erhalten, indem wir die Methode getTransaction aufrufen.

Zusammenfassen

JPA ist ein leistungsstarkes ORM-Framework, das es Entwicklern ermöglicht, Datenbanken objektorientiert zu bearbeiten. In diesem Artikel haben wir die Grundkonzepte von JPA vorgestellt und seine Verwendung anhand von Java-Codebeispielen demonstriert. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die Verwendung von JPA besser zu verstehen.

Acho que você gosta

Origin blog.csdn.net/m0_49151953/article/details/130252805
Recomendado
Clasificación