Ao construir um novo projeto, você precisa adicionar dependências JPA e H2
As dependências do arquivo POM são as seguintes:
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance 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> <vroupId> com.chhliu. <artifactId>springboot-h2</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot-h2</name> <description>Demo project for Spring Boot H2</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <Versão> 1.4.3.release </sipers> <RelityPath/> <!-Lookup Parent from Repository-> </parent> <Perts> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <jectoring.outputEngoding> utf-8 <rortcencring> <Projectoring.outputoding> utf-8 <rortcencring> <Java.version> 1.7 </java.version> </sperties> <pendes>> <pendence> <puperid> org.springframework.boot </frupId> <stifactId> spring-boot-starter-data-jpa </artifactId> </dependence> <pedency> <pUrbter> ou.s-trouxer. </ArtifactId> Spring-Boot-Starter-Web </ArtifactId> </Dependency> <pendence> <puperid> com.h2database </frupiD> <stifactId> h2 </tartifactid> <coCope> Runtime </scope> </dependência> <Pendency> <purfactid> oug.springfringfringfringfringfringfringfringfringfringfringfringfringfringfring. <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependency> </dependency> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </ject>
pacote com.chhliu.springboot.h2.entity; importar java.math.bigdecimal; importar javax.persistence.column; importar javax.persistence.Entity; importar javax.persistence.GeneratedValue; importar javax.persistence.generationType; importar javax.persistence.id; @Entity public class Usuário {@id @generatedValue (estratégia = generationType.auto) Private Long Id; @Column private string nome de usuário; @Column private string nome; @Column Private Short Age; @Column Private BigDecimal Balance; ... omita métodos de gettter e setter} pacote com.chhliu.springboot.h2.repository; importar org.springframework.data.jpa.repository.jparepository; importar org.springframework.tereotype.repository; importar com.chhliu.springboot.h2.entity.user; @Repository interface pública userRepository estende jparepository <usuário, long> {} pacote com.chhliu.springboot.h2.Controller; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.web.bind.annotation.getMapping; importar org.springframework.web.bind.annotation.pathvariable; importar org.springframework.web.bind.annotation.restcontroller; importar com.chhliu.springboot.h2.entity.user; importar com.chhliu.springboot.h2.repository.userRepository; @RestController Public Class UserController {@AUTOWIRED PRIVADO UserRepository UserRepository; @GetMapping ("/user/{id}") // Observe que a anotação getMapping é usada aqui, e a função desta anotação é semelhante a @RequestMapping (value = "/user/{id}", método = requestMethod.get), @PosMapping AnoTation é o mesmo que o usuário do usuário FindbyId (@PathV }}# Número da porta do servidor Server.port = 7900 # Se deve gerar a instrução ddl spring.jpa.generate-ddl = false # se imprimir o SQL Declaration spring.jpa.show-sql = true # gerar automaticamente DDL. Como o DDL específico é especificado, ele é definido como nenhum spring.jpa.hibernate.ddl-auto = nenhum # use o banco de dados H2 spring.dataSource.platform = h2 # Especifique o local do arquivo schema para geração do banco de dados spring.datasource.Schema = ClassPath: ScheMa.SQL #SQL spring.dataSource.data = classe de classe: data.sql # Configure as informações de impressão de log. logging.level.org.hibernate.type.descriptor.sql.basicextractor = trace logging.level.com.itmuch = Debug
Digite o seguinte URL no seu navegador: http: // localhost: 7900/user/4
Você pode ver os resultados do teste
{"ID": 4, "Nome de usuário": "User4", "Nome": "MaliU", "Age": 20, "Balance": 100,00}
Explique que nossa integração está ok
pacote com.chhliu.springboot.h2; importar org.junit.assert; importar org.junit.test; importar org.junit.runner.runwith; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.boot.test.context.springboottest; importar org.springframework.test.context.junit4.springrunner; importar com.chhliu.springboot.h2.entity.user; importar com.chhliu.springboot.h2.repository.userRepository; @Runwith (springrunner.class) @springboottest classe pública Springbooth2ApplicationTest {@AUTOWIRED PRIVADO PRIVADO REPOSITENIENCIO @Test public void test () {user u = repository.findone (1L); Assert.asserTequals ("Caso de teste bem -sucedido", "Zhang San", U.GetName ()); }} Eu achei que o teste estava ok!
Como o H2 é um banco de dados de memória relacional, quando o programa for iniciado, as tabelas serão criadas na memória e os dados serão armazenados na memória. Após reiniciar o programa, os dados na memória serão excluídos automaticamente, que podem ser bem usados para testes de unidade na camada DAO e no teste de unidade na camada de serviço, para que todo o programa não dependa de bancos de dados específicos e também melhore a eficiência dos testes de unidade.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.