Beim Erstellen eines neuen Projekts müssen Sie JPA- und H2 -Abhängigkeiten hinzufügen
Die POM -Dateiabhängigkeiten sind wie folgt:
<? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.chhliu.springboot.h2</groupId> <artifactId> Springboot-H2 </artifactId> <version> 0.0.1-Snapshot </Version> <Paketing> jar </packaging> <name> Springboot-H2 </name> <beschreibung> Demo-Projekt für Spring-Boot H2 </Beschreibung> <Persalid> org.SpringFramework.boot </gruppen> <artifactid> Spring-Boot-Starter-Parent </artifactId> <version> 1.4.3.Release </Version> <RelativePath/> <!-SOOKUP PORTER von repository-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.surecoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </abhängig> <depeping> <gruppe> org.springFramework <gruppeId> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter-Test </artifactId> <Scope> test </scope> </abhängig> </abhängig> </abhängig> <build> <plogin> <Gruppe <gruppe> org.springFramework.boot </GroupId> <artifactid> Spring-Boot-Maven-Plugin </artifactId> </plugin> </plugins> </build> </project>
Paket com.chhliu.springboot.h2.Entity; import Java.math.bigdecimal; import Javax.Persistence.Column; import Javax.Persistence.Entity; import Javax.Persistence.generatedValue; import Javax.Persistence.generationType; import Javax.Persistence.id; @Entity public class User {@ID @generatedValue (Strategy = GenerationType.auto) Private Long ID; @Column Private String Benutzername; @Column Private String Name; @Column Private Short Age; @Column Private BigDecimal Balance; ... Methoden von Gettter und Setter auslassen} Paket com.chhliu.springboot.h2.Repository; import org.springframework.data.jpa.repository.jparepository; import org.springframework.stereotype.repository; import com.chhliu.springboot.h2.entity.user; @Repository Public Interface userRepository erweitert JParepository <Benutzer, Long> {} Paket com.chhliu.springboot.h2.Controller; import org.springframework.beans.factory.annotation.autowired; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.restController; import com.chhliu.springboot.h2.entity.user; import com.chhliu.springboot.h2.repository.userrepository; @RestController Public Class UserController {@autowired private userrepository userrepository; @Getmapping ("/user/{id}") // Beachten Sie, dass die GetMapping -Annotation hier verwendet wird und die Funktion dieser Annotation @RequestMapping (value = "/user/{id}", methode = requestMethod.get), @Postmapping -Annotation ist die gleiche öffentliche Benutzerfind (@pathepariable) {{{zurückgezogen) {{{{{zurück. this.userrepository.findone (id); }}# Server-Portnummer Server.port = 7900 #, ob die DDL-Anweisung Spring.jpa.Generate-ddl = false # generiert werden soll, ob die SQL-Anweisung Spring.jpa.show-SQL = True # automatisch DDL erzeugt werden soll. Da ein spezifisches DDL angegeben ist, wird es auf keine Spring.jpa.hibernate.ddl-auto = Keine # Verwenden Sie die H2-Datenbank Spring.DataSource.Platform = H2 # Geben Sie den Speicherort der Schema-Datei an, um den Datenbank Spring zu generieren. Spring.DataSource.data = classPath: data.sql # Konfigurieren von Protokolldruckinformationen logging.level.root = info logging.level.org.hibernate = info logging.level.org.hiberynate.type.descriptor.sql.basicbinder = Trace = Trace = Trace = Trace = Tracebinder = Trace = Trace. logging.level.org.hibernate.type.descriptor.sql.basicextractor = Trace Logging.level.com.itmuch = Debug
Geben Sie die folgende URL in Ihren Browser ein: http: // localhost: 7900/user/4
Sie können die Testergebnisse sehen
{"ID": 4, "Benutzername": "User4", "Name": "Maliu", "Alter": 20, "Balance": 100.00}
Erklären Sie, dass unsere Integration in Ordnung ist
Paket com.chhliu.springboot.h2; import org.junit.assert; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; import org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springrunner; import com.chhliu.springboot.h2.entity.user; import com.chhliu.springboot.h2.repository.userrepository; @Runwith (springrunner.class) @springboottest public class Springbooth2ApplicationTest {@autowired private userrepository repository; @Test public void test () {user u = repository.findone (1l); Assert.AsSertequals ("erfolgreicher Testfall", "Zhang San", u.getName ()); }} Ich fand, dass der Test in Ordnung war!
Da H2 eine relationale Speicherdatenbank ist, werden beim Start des Programms Tabellen im Speicher erstellt und Daten im Speicher gespeichert. Nach dem Neustart des Programms werden die Daten im Speicher automatisch gelöscht, die für die Testen von Unit -Tests auf der DAO -Ebene und in der Testen der Einheit in der Serviceschicht gut verwendet werden können, sodass das gesamte Programm nicht auf bestimmten Datenbanken beruht und auch die Effizienz von Unit -Tests verbessert.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.