我们在Spring中使用了很多H2,特别是用于单元测试。但是,我们可能希望拥有一个包含数据的全功能原型,而不是单元测试。
H2是完美的候选者。它适用于Spring,与大多数数据库具有很强的语法兼容性,并提供用于检查数据的UI。
想象一下面试任务的情景。您希望您的示例开箱即用,尽可能少的配置为审阅者。
计划是使应用程序启动并运行数据。在访问应用程序之前,我们不妨向其添加数据。然后,我们需要有一个正确的方法来显示添加的数据,而无需添加额外的代码。
第一步是转到Spring初始化器并添加Web和H2依赖项。此外,我们将添加JDBC属性。
最终结果将为我们提供一个build.gradle文件,如下所示:
buildscript {
\ text {
springBootVersion = '2.0.6.RELEASE'
}
存储库 {
mavenCentral()
}
依赖 {
classpath(“org.springframework.boot:spring-boot-gradle-plugin:$ { springBootVersion }”)
}
}
apply plugin: 'java'
申请 插件: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'com.gkatzioura.springbooth2'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
存储库 {
mavenCentral()
}
依赖 {
实现('org.springframework.boot:spring-boot-starter-jdbc')
实现('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
由于我们添加了JDBC属性,因此我们可以在应用程序启动后执行一些模式脚本。
因此,我们需要创建一个schema.sql文件,其中包含创建模式的SQL语句。
CREATE TABLE application_user(ID INT,USER_NAME VARCHAR(50),PASSWORD VARCHAR(255));
INSERT INTO application_user(ID,USER_NAME,PASSWORD)值(1,'test','password-hash');
下一步是启用H2控制台。我们将采用YAML方法; 但是,您可以使用属性文件或环境变量来执行此操作。
春天:
h2 :
控制台:
启用:true
现在,一旦我们运行Spring应用程序,我们就可以在端点上导航。
我们将获得所需的默认凭证。
登录后,我们可以查询我们在启动SQL脚本中插入的用户。
而已!这可以为原型,面试作业和博客文章创造奇迹!
标签:H2,Spring,boot,springframework,Boot,spring,org From: https://blog.51cto.com/u_16145034/6485105