При создании нового проекта вам необходимо добавить зависимости JPA и H2
Зависимости от файлов POM следующие:
<? 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: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <dolidyversion> 4.0.0 </modelversion> <groupid> com.chhliu.springboot.h2 </modelversion> <groupid> com.chhliu.springboot.h.h.hom <ArtifactId> Springboot-h2 </artifactid> <sersive> 0.0.1-snapshot </version> <Cavegaging> jar </упаковка> <mame> Springboot-h2 </name> <socription> демо-проект для Spring Boot H2 </descrifact> <parent> <groupid> org.spramework.boot </GroupId> </artifActid> parent> pparment pparment ppar <sersion> 1.4.3.Release </version> <verivePath/> <!-Lookup Parent из репозитория-> </parent> <properties> <project.build.sourceEncoding> utf-8 </project.build.sourceencoding> <project.roport.outputencoding> utf-8 </project. <java.version> 1.7 </java.version> </свойства> <Depertiencies> <Depertiency> <groupid> org.springframework.boot </GroupId> <StrifactId> Spring-boot-starter-data-jpa </artifactid> </jependency> <dependency> <groupid> org.springframe.boot.boot. <ratfactid> Spring-boot-starter-web </artifactid> </dependency> <dependency> <groupid> com.h2database </GroupId> <ratifactid> H2 </artifactId> <cracpope> runtime </scope> </depervice> <Deyederence> <groupId> org.spramework.boot </grape> <dependency> <groupid> org.spramework.boot </GroupD> <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> </project>
пакет com.chhliu.springboot.h2.entity; импортировать java.math.bigdecimal; Импорт javax.persistence.column; Импорт javax.persistence.entity; Импорт javax.persistence.generatedValue; Импорт javax.persistence.GenerationType; Импорт javax.persistence.id; @Entity Public Class User {@ID @GeneratedValue (стратегия = GenerationType.auto) Private Long ID; @Column private String username; @Column private String name; @Column Частный короткий возраст; @Column Private BigDecimal Balance; ... опустить методы GetTter и Setter} пакет com.chhliu.springboot.h2.repository; Импорт org.springframework.data.jpa.repository.jparePository; Import org.springframework.sterotype.repository; Импорт com.chhliu.springboot.h2.entity.user; @Repository public interface userRepository расширяет jparePository <user, long> {} пакет com.chhliu.springboot.h2.controller; Импорт org.springframework.beans.factory.annotation.autowired; Импорт org.springframework.web.bind.annotation.getMaping; Импорт org.springframework.web.bind.annotation.pathvariable; Импорт org.springframework.web.bind.annotation.restcontroller; Импорт com.chhliu.springboot.h2.entity.user; Импорт com.chhliu.springboot.h2.repository.userRepository; @Restcontroller public class usercontroller {@autowired private userRepository userRepository; @Getmapping ("/user/{id}") // Обратите внимание, что здесь используется аннотация GetMapping, и функция этой аннотации аналогична @Requestmapping (value = "/user/{id}", method = requestMethod.get), @postmapping Annotation такая же, как общедоступный пользователь (@pathvariable), ather -indorpos windorpos); }}# Номер порта сервера Server.port = 7900 # Сгенерировать ли оператор DDL Spring.jpa.generate-ddl = false #, следует ли печатать оператор SQL spring.jpa.show-sql = true # Автоматическое генерирование DDL. Поскольку специфический DDL указан, он устанавливается на None Spring.jpa.hibernate.ddl-auto = none # Использовать базу данных H2 Spring.datasource.platform = h2 # Укажите местоположение файла схемы для генерации базы данных Spring.datasource.schema = classpath: schema.sql # С. spring.datasource.data = classpath: data.sql # configure log printing logging.level.root = info logging.level.org.hibernate = info logging.level.org.hibernate.type.descriptor.sql.basicbinder = trace.type.descriptor.sql.basicbinder = трасса logging.level.org.hibernate.type.descriptor.sql.basicextractor = Trace logging.level.com.itmuch = отладка
Введите следующий URL в вашем браузере: http: // localhost: 7900/user/4
Вы можете увидеть результаты теста
{"id": 4, "username": "user4", "name": "maliu", "Age": 20, "Balance": 100.00}
Объясните, что наша интеграция в порядке
пакет com.chhliu.springboot.h2; Импорт org.junit.assert; Импорт org.junit.test; Импорт org.junit.runner.runwith; Импорт org.springframework.beans.factory.annotation.autowired; Импорт org.springframework.boot.test.context.springboottest; Import org.springframework.test.context.junit4.springrunner; Импорт com.chhliu.springboot.h2.entity.user; Импорт com.chhliu.springboot.h2.repository.userRepository; @Runwith (springrunner.class) @springboottest public class springbooth2applicationtest {@autowired private userRepository; @Test public void test () {user u = Repository.findone (1L); Assert.assertequals («Успешный тестовый пример», "Zhang San", U.GetName ()); }} Я обнаружил, что тест был в порядке!
Поскольку H2 является базой данных реляционной памяти, когда программа запускается, таблицы будут создаваться в памяти, а данные будут храниться в памяти. После перезапуска программы данные в памяти будут автоматически удалены, которые можно использовать хорошо для модульного тестирования на уровне DAO и модульного тестирования на уровне обслуживания, чтобы вся программа не была полагаться на конкретные базы данных, а также повысить эффективность модульных тестирования.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.