Lors de la construction d'un nouveau projet, vous devez ajouter des dépendances JPA et H2
Les dépendances de fichiers POM sont les suivantes:
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: ScheMalation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </déraphine> </proupid> com.chhliu.springboot.h2 </ groupId> com.chhliu.springboot.h2 </proupID> <ArtefactId> Springboot-H2 </ ArfactId> <Sease> 0.0.1-Snapshot </DERNIFRIENT> <CADPACKAGE> JAR </packaging> <name> Springboot-H2 </name> <, description> Projet de démo pour Spring Boot H2 </criptid> <parent> <proupId> Org.springFramework.boot </prounid> <ArtefactId> Spring-Boot-Starter-Parent </ ArfactId> <Dersion> 1.4.3.Release </DERNIFRIMINE> <RelativePath /> <! - Recherche Parent du référentiel -> </parent> </ Properties> <projeil.build.sourceencoding> utf-8 </project.build.sourceencoding> <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> </dependency> <dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemp-boot-starter-web </ artifactid> </dependency> <dependency> <proupId> com.h2database </rom grouped> <Artifactid> H2 </ artifactid> <Scope> Runtime </cope> <GroupId> org.springframework.boot </prôdId> <ErtifactId> Spring-Boot-starter-test </ artifactive> <ccope> test </cope> </dEpendency> </Dependency> </Dependency> <uild> <plugins> <plugin> <proupId> org.springframework.boot </pragid> <ArtefactId> Spring-Boot-Maven-Plugin </ ArfactId> </Glugin> </Glugins> </Duild> </randing>
package 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 utilisateur {@id @generatedValue (Strategy = GenerationType.Auto) Private Long ID; @Column Private String Username; @Column Private String Name; @Column privé à court terme; @Column Private Bigdecimal Balance; ... omettre les méthodes Gettter et Setter} package com.chhliu.springboot.h2.Repository; import org.springframework.data.jpa.repository.jParePository; import org.springframework.sterreotype.repository; import com.chhliu.springboot.h2.entity.user; @Repository Interface publique UserRepository étend JParepository <utilisateur, long> {} package 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}") // Notez que l'annotation GetMapping est utilisée ici, et la fonction de cette annotation est similaire à @RequestMapping (value = "/ user / {id}", méthode = requestMethod.get), @postmapping annotation est la même }}# Server Numéro de port Server.port = 7900 # Si vous devez générer l'instruction DDL Spring.jpa.generate-ddl = false # Si il faut imprimer l'instruction SQL Spring.jpa.show-sql = true # générer automatiquement DDL. Étant donné que DDL spécifique est spécifié, il est défini sur nul Spring.jpa.hibernate.ddl-auto = Aucun # Utilisez la base de données H2 Spring.Datasource.Platform = H2 # Spécifiez l'emplacement du fichier de schéma pour générer la base de données Spring.Datasource.Schema = ClassPath: Schema.SQL # Spécifiez l'emplacement de script pour insistation de l'insassion DataDe. printemps.datasource.data = classpath: data.sql # configurer le journal des informations d'impression logging.level.root = info logging.level.org.hibernate = info logging.level.org.hibernate.type.descriptor.sql.basicbinder = trace. logging.level.org.hibernate.type.descriptor.sql.basicextractor = trace logging.level.com.itmuch = debug
Entrez l'URL suivante dans votre navigateur: http: // localhost: 7900 / user / 4
Vous pouvez voir les résultats des tests
{"id": 4, "nom d'utilisateur": "user4", "nom": "Maliu", "Age": 20, "Balance": 100,00}
Expliquez que notre intégration est ok
package com.chhliu.springboot.h2; import org.junit.asser; 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 () {utilisateur u = repository.findOne (1l); ASSERT.ASSERTEQUALS ("Cas de test réussi", "Zhang San", U.GetName ()); }} J'ai trouvé que le test était OK!
Étant donné que H2 est une base de données de mémoire relationnelle, lorsque le programme sera démarré, les tables seront créées en mémoire et les données seront stockées en mémoire. Après le redémarrage du programme, les données en mémoire seront automatiquement supprimées, qui peuvent être bien utilisées pour les tests unitaires sur la couche DAO et les tests unitaires sur la couche de service, afin que l'ensemble du programme ne s'appuie pas sur des bases de données spécifiques et améliore également l'efficacité des tests unitaires.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.