Heim > Java > javaLernprogramm > Hauptteil

Verwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot

不言
Freigeben: 2018-10-17 16:16:34
nach vorne
3797 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Verwendung von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot. Ich hoffe, dass er für Sie hilfreich ist.

Früher habe ich Mybatis für die Datenbankentwicklung verwendet. Nachdem ich Spring Boot kennengelernt hatte, stellte ich fest, dass JPA benutzerfreundlicher ist. Lassen Sie uns also gemeinsam etwas über die Prinzipien von JPA lernen.

Spring Data JPA

JPA-Kurzeinführung

Java Persistence API (JPA) ist eine Spezifikation von Java. Es wird zum Speichern von Daten zwischen Java-Objekten und relationalen Datenbanken verwendet.
JPA fungiert als Brücke zwischen objektorientierten Domänenmodellen und relationalen Datenbanksystemen. Da es sich bei JPA nur um eine Spezifikation handelt, bewirkt es selbst nichts. Es erfordert eine Implementierung. Daher implementieren ORM-Tools wie Hibernate, TopLink und iBatis die JPA-Datenpersistenzspezifikation.

Spring Data JPA ist eine Reihe von JPA-Anwendungsframeworks, die von Spring basierend auf dem ORM-Framework und den JPA-Spezifikationen gekapselt werden und es Entwicklern ermöglichen, mit minimalistischem Code auf Daten zuzugreifen und diese zu betreiben. Es bietet allgemeine Funktionen wie Hinzufügen, Löschen, Ändern, Überprüfen usw. und ist einfach zu erweitern! Das Erlernen und Verwenden von Spring Data JPA kann die Entwicklungseffizienz erheblich verbessern!

Grundlegende Abfrage

Spring Data JPA hat einige grundlegende Datenbankoperationen implementiert, einschließlich grundlegender Hinzufügung, Löschung, Änderung und Abfrage.

Zuerst müssen Sie relevante Abhängigkeiten in pom.xml einführen.

    <dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    </dependency>
    <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-data-jpa</artifactid>
    </dependency>
Nach dem Login kopieren

Zweitens müssen Sie die datenbankbezogene Konfiguration und die JPA-bezogene Konfiguration in der Konfigurationsdatei application.properties hinzufügen.

    #配置数据源
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/springboot
    spring.datasource.username=username
    spring.datasource.password=password
    
    #jpa数据库表格创建的方式,和控制台sql的打印
    jpa.hibernate.ddl-auto=update
    jpa.hibernate.show-sql=true
Nach dem Login kopieren

Drittens schreiben Sie die Entitätsklasse.

Wenn wir unter normalen Umständen die Annotation @Entity zur Entitätsklasse hinzufügen, wird die Entitätsklasse mit der Tabelle verknüpft.
Wenn wir keines der Attribute mit der Datenbank verknüpfen und nur während der Anzeige Berechnungen durchführen müssen, müssen wir nur das @Transient-Attribut hinzufügen.

Verwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot

@Id identifiziert den Primärschlüssel
@GeneratedValue ist die automatische Inkrementierungsmethode zur Angabe des Primärschlüssels.

Viertens schreiben Sie die Abfragemethode.

Schreiben Sie einfach eine Schnittstelle, um die JpaRepository-Schnittstelle zu implementieren:
Sie müssen nach JpaRepository zwei Parameter hinzufügen, einer ist die Entitätsklasse und der andere ist der Typ des Primärschlüssels.

Verwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot

Nachdem Sie JpaRepository geerbt haben, können Sie einfache Funktionen zum Hinzufügen, Löschen, Ändern und Überprüfen verwenden.

@Test
public void testBaseQuery() throws Exception {
    Girl girl=new Girl();
    userRepository.findAll();
    userRepository.findOne(1);
    userRepository.save(girl);
    userRepository.delete(girl);
    // ...
}
Nach dem Login kopieren

Benutzerdefinierte einfache Abfrage

Da dies nur unsere grundlegende Abfrage erfüllen kann, müssen wir schreiben, wenn wir der von ihm gegebenen Abfrage nicht folgen möchten unsere eigene Abfrageanweisung? Die Antwort ist definitiv nein. Wir können weiterhin einige Abfrageanweisungen gemäß den JPA-Regeln generieren.

Eine benutzerdefinierte einfache Abfrage generiert automatisch SQL basierend auf dem Methodennamen. Die Hauptsyntax lautet findXXBy, readAXXBy, queryXXBy, countXXBy, getXXBy, gefolgt vom Attributnamen:

Verwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot

Verwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot

Komplexe Abfrage

Hier müssen wir selbst SQL schreiben. Schauen wir uns an, worauf wir achten müssen.
Verwenden Sie die @Query-Annotation für die SQL-Abfragemethode, fügen Sie bei Bedarf @Modifying hinzu. Sie können bei Bedarf auch @Transactional-Unterstützung für Dinge, Abfrage-Timeout-Einstellungen usw. hinzufügen.

Hinweis: Beim Schreiben einer Abfrage sollte der Tabellenname in der HQL-Anweisung der vom ORM zugeordnete Klassenname sein.

    //传单个值的时候
    @Query("select u from User u where u.age = ?#{[0]}")
    List<user> findUsersByAge(int age);
    
    //传多个值的时候
    @Query("select u from User u where u.firstname = :#{#customer.firstname}")
    List<user> findUsersByCustomersFirstname(@Param("customer") Customer customer)</user></user>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwenden von Spring Data JPA zum Herstellen einer Verbindung zur Datenbank in Spring Boot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage