网站方案原则,江门网站制作推广,防红短链接生成,牡丹江百姓信息网inmemory介绍 基本上#xff0c;数据库设置涉及几个步骤#xff0c;然后才能在应用程序中通过已配置的数据源使用它。 在实际项目实施中#xff0c;这实际上是必需的。 但是#xff0c;在某些情况下#xff0c;我们只需要为某件事完成POC#xff0c;并且整个数据库设置工… inmemory 介绍 基本上数据库设置涉及几个步骤然后才能在应用程序中通过已配置的数据源使用它。 在实际项目实施中这实际上是必需的。 但是在某些情况下我们只需要为某件事完成POC并且整个数据库设置工作仍然是必须的。 同样对于单元测试理想的是在数据库中拥有我们自己的记录集使其独立而不受部署环境中数据更改的影响。 对于此类用例内存数据库是理想的解决方案。 内存数据库在应用程序启动时创建而数据库在应用程序停止时销毁。 Spring Boot轻松集成了H2数据库。 因此您可以轻松快速地在真实数据库和内存数据库之间切换。 注意H2 InMemory数据库是用Java编写的关系DBMS。 让我们看一下快速演示。 实作 让我们从Spring initializr生成Spring Boot项目。 确保添加WebJPAH2和DevTools依赖项如下所示。 让我们看一下生成的pom文件。 pom.xml ?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.jcombat/groupIdartifactIdh2demo/artifactIdversion0.0.1-SNAPSHOT/versionpackagingjar/packagingnameh2demo/namedescriptionDemo project for Spring Boot/descriptionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.0.RELEASE/versionrelativePath / !-- lookup parent from repository --/parentpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scope/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project 我们还注意到application.properties文件生成为– application.properties # H2
spring.h2.console.enabledtrue
spring.h2.console.path/h2# Datasource
spring.datasource.urljdbc:h2:mem:testdb
spring.datasource.usernamesa
spring.datasource.password
spring.datasource.driver-class-nameorg.h2.Driver 属性spring.h2.console.enabled true启用位于http// localhost8080 / h2的Web控制台 单击“连接”然后进入页面在该页面中可以看到数据库中的可用表。 您可能想知道如何创建Student表。 神奇之处在于data.sql位于src / main / resources。 只需确保您在data.sql文件中具有插入语句如下所述– data.sql insert into STUDENT
values(10001,Ajay, AAA1);insert into STUDENT
values(10002,Ajit, AAA2); Spring Boot自动配置检查data.sql文件中的值并为您做点需要的事即创建STUDENT表并执行insert语句。 聪明 让我们检查一下如何处理这些学生记录。 为此让我们现在创建Student实体类。 学生.java package com.jcombat.entity;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;Entity
public class Student {IdGeneratedValueprivate Long id;private String name;private String section;public Student() {}public Student(Long id, String name, String section) {this.id id;this.name name;this.section section;}public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getSection() {return section;}public void setSection(String section) {this.section section;}} 要访问数据库让我们编写一个简单的JPA接口该接口提供执行基本DB操作所需的帮助程序功能。 StudentRepository.java package com.jcombat.repository;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;import com.jcombat.entity.Student;Repository
public interface StudentRepository extends JpaRepositoryStudent, Long {} 现在让我们使用Command Line Runner定制Spring Boot入口点类这样我们就可以从命令行执行Spring Boot应用程序了。 package com.jcombat.h2demo;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;import com.jcombat.repository.StudentRepository;SpringBootApplication
EntityScan(com.jcombat.entity)
EnableJpaRepositories(com.jcombat.repository)
public class H2demoApplication implements CommandLineRunner {// mvn spring-boot:runprivate Logger LOG LoggerFactory.getLogger(H2demoApplication);StudentRepository studentRepository;Autowiredpublic H2demoApplication(StudentRepository studentRepository) {this.studentRepository studentRepository;}public static void main(String[] args) {SpringApplication.run(H2demoApplication.class, args);}Overridepublic void run(String... args) throws Exception {LOG.info(Student count in DB: {}, studentRepository.count());}
}执行应用程序 要运行该应用程序您可以直接从Eclipse IDE进行操作也可以通过以下命令从命令行进行操作– mvn spring-boot:run 执行后我们会在控制台上看到以下输出– 下载源代码 翻译自: https://www.javacodegeeks.com/2018/11/understandin-inmemory-database-spring.htmlinmemory