Heim >Java >javaLernprogramm >So verwenden Sie JPA als Datenpersistenz-Framework in SpringBoot

So verwenden Sie JPA als Datenpersistenz-Framework in SpringBoot

WBOY
WBOYnach vorne
2023-05-17 18:13:40931Durchsuche

JPA ist die Abkürzung für Java Persistence API. Der chinesische Name lautet Java Persistence Layer API. Dabei handelt es sich um eine Zuordnungsbeziehung zwischen JDK 5.0-Annotationen oder XML-Beschreibungsobjekten und der dauerhaften Speicherung von Entitätsobjekten in der Datenbank.

1. Einführung von Abhängigkeiten

<!-- spring mvc -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- mysql 驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

<!-- jpa持久层 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2. Datenbankverbindungskonfiguration

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/jpa-demo?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useSSL=true&characterEncoding=UTF-8
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
  jpa:
    hibernate:
      # 自动创建表
      ddl-auto: update

ddl-auto Es gibt insgesamt fünf optionale Werte#🎜 🎜## 🎜🎜#

    none: Nichts tun
  • create: Jedes Mal, wenn der Ruhezustand geladen wird, wird die zuletzt generierte Tabelle gelöscht. und dann eine neue Tabelle basierend auf Ihrer Modellklasse neu generieren, auch wenn keine Änderungen zweimal vorgenommen werden. Dies ist ein wichtiger Grund für den Datenverlust in der Datenbanktabelle.
  • create-drop: Die Tabelle wird bei jedem Laden des Ruhezustands basierend auf der Modellklasse generiert, aber die Tabelle wird automatisch gelöscht, sobald sessionFactory geschlossen wird.
  • update: Das am häufigsten verwendete Attribut. Wenn der Ruhezustand zum ersten Mal geladen wird, wird die Tabellenstruktur automatisch basierend auf der Modellklasse eingerichtet (vorausgesetzt, die Datenbank). wird zuerst eingerichtet und später geladen. Der Ruhezustand aktualisiert automatisch die Tabellenstruktur entsprechend der Modellklasse. Auch wenn sich die Tabellenstruktur ändert, sind die Zeilen in der Tabelle weiterhin vorhanden und die vorherigen Zeilen werden nicht gelöscht. Es ist zu beachten, dass die Tabellenstruktur bei der Bereitstellung auf dem Server nicht sofort eingerichtet wird, sondern wartet, bis die Anwendung zum ersten Mal ausgeführt wird.
  • validieren: Bei jedem Laden des Ruhezustands wird die Datenbanktabellenstruktur überprüft und nur mit der Tabelle in der Datenbank verglichen erstellt, aber neue Tabellen werden eingefügt.
  • 3. Datenobjekt (DO)
import lombok.Data;

import javax.persistence.*;

@Table(name = "sys_user")
@Entity
@Data
public class SysUserDO {

    /**
     * 主键-自增
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(columnDefinition = "varchar(12) comment &#39;用户名称&#39;")
    private String name;

    @Column(columnDefinition = "varchar(50) comment &#39;邮箱&#39;")
    private String email;
}

    @Id, das angibt, dass dieses Attribut das primäre ist Schlüsselfeld# 🎜🎜#
  • @GeneratedValue(strategy = GenerationType.IDENTITY), unter Verwendung der Methode zur automatischen Inkrementierung des Primärschlüssels
  • #🎜 🎜#@Spalte, Geben Sie die Attribute des Datenbankfelds an, oder Sie können einfach einen Kommentar schreiben, der

    #🎜🎜 erkennt #
  • 4. Persistentes Objekt# 🎜🎜#
    import com.biz.jpa.entity.SysUserDO;
    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface SysUserRepository extends JpaRepository<SysUserDO, Long> {
    }
  • @Repository, was darauf hinweist, dass dies die Datenzugriffsschicht ist

    5. Wir fügen ein Datenelement in die sys_user-Tabelle ein. Da der Primärschlüssel automatisch erhöht wird, müssen wir den Primärschlüssel nicht festlegen. Nach erfolgreicher Einfügung wird der automatisch inkrementierte Primärschlüssel automatisch in das Objekt #🎜 zurückgeschrieben 6. Test # 🎜 #Das Einfügen war erfolgreich und der automatisch inkrementierte Primärschlüssel wurde zurückgegeben. Die Integration von Jpa ist hier abgeschlossen. Weitere JPA-Nutzung muss in der tatsächlichen Projektentwicklung untersucht werden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie JPA als Datenpersistenz-Framework in SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen