springboot整合H2内存数据库实现单元测试与数据库无关性

  

<强>一、新建春引导工程

  

新建工程的时候,需要加入JPA、H2依赖
  

  

 springboot整合H2内存数据库实现单元测试与数据库无关性

  

<强>二、工程结构

  

 springboot整合H2内存数据库实现单元测试与数据库无关性

  

pom文件依赖如下:
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;项目xmlns=" http://maven.apache.org/POM/4.0.0 " xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance "   xsi: schemaLocation=" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”比;   & lt; modelVersion> 4.0.0      & lt; groupId> com.chhliu.springboot.h3   & lt; artifactId> springboot-h3   & lt; version> 0.0.1-SNAPSHOT   & lt; packaging> jar      & lt; name> springboot-h3   春天& lt; description>演示项目引导H2      & lt; parent>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-parent   & lt; version> 1.4.3.RELEASE   & lt; relativePath/比;& lt; !——从库中查找父——比;   & lt;/parent>      & lt; properties>   & lt; project.build.sourceEncoding> UTF-8   & lt; project.reporting.outputEncoding> UTF-8   & lt; java.version> 1.7 & lt;/java.version>   & lt;/properties>      & lt; dependencies>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-data-jpa   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-web   & lt;/dependency>      & lt; dependency>   & lt; groupId> com.h3database   & lt; artifactId> h3   & lt; scope> runtime   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-test   & lt; scope> test   & lt;/dependency>   & lt;/dependencies>      & lt; build>   & lt; plugins>   & lt; plugin>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-maven-plugin   & lt;/plugin>   & lt;/plugins>   & lt;/build>   & lt;/project>   之前      

<强>三、编写实体类

        包com.chhliu.springboot.h3.entity;   进口java.math.BigDecimal;   进口javax.persistence.Column;   进口javax.persistence.Entity;   进口javax.persistence.GeneratedValue;   进口javax.persistence.GenerationType;   进口javax.persistence.Id;      @ entity   公开课用户{   @ id   @GeneratedValue(策略=GenerationType.AUTO)   私人长id;      @ column   私人字符串的用户名;      @ column   私人字符串名称;      @ column   私人短年龄;      @ column   私人BigDecimal平衡;      ……省略gettter和setter方法   }   之前      

<强>四、编写刀

        包com.chhliu.springboot.h3.repository;   进口org.springframework.data.jpa.repository.JpaRepository;   进口org.springframework.stereotype.Repository;   进口com.chhliu.springboot.h3.entity.User;   @   公共接口UserRepository延伸JpaRepository<用户,Long>{      }      

<强>五、编写控制器

        包com.chhliu.springboot.h3.controller;   进口org.springframework.beans.factory.annotation.Autowired;   进口org.springframework.web.bind.annotation.GetMapping;   进口org.springframework.web.bind.annotation.PathVariable;   进口org.springframework.web.bind.annotation.RestController;      进口com.chhliu.springboot.h3.entity.User;   进口com.chhliu.springboot.h3.repository.UserRepository;      @RestController   公开课用户控件{      @ autowired   私人UserRepository UserRepository;      @GetMapping ("/user/{id} ")//注意,此处使用的是GetMapping注解,该注解的作用类似与@RequestMapping (value=" https://www.yisu.com/user/{id}”、方法=RequestMethod.GET), @PostMapping注解同理   公共用户findById (@PathVariable长id) {   返回this.userRepository.findOne (id);   }   }   

springboot整合H2内存数据库实现单元测试与数据库无关性