当我未在application.properties中指定任何内容并以mvn spring:run开头时,我只是想查看spring-boot创建的嵌入式H2数据库的H2数据库内容。我可以看到hibernate的JPA正在创建表,但是如果我尝试在数据库下面的URL下访问h2控制台,则该表没有表。
http://localhost:8080/console/
我看到这样的建议: 查看由Spring启动的嵌入式H2数据库的内容
但是我不知道在Spring Boot时将建议的XML放在哪里,即使我这样做了,我也不希望在配置外部数据库时h2console可用,因此我更有可能需要处理此问题。带有某种条件代码(或者可能只是让spring在最理想的情况下自动处理它,在最理想的情况下,我仅在激活Maven配置文件时才包含H2)。
就我而言,我为数据库选择了一个特定的名称,以便在启动H2控制台时可以输入一些内容(在本例中为“ AZ”)。我认为所有这些都是必需的,尽管忽略spring.jpa.database-platform似乎没有任何伤害。
在application.properties中:
spring.datasource.url=jdbc:h2:mem:AZ;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
在Application.java(或某些配置)中:
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/console/*");
return registration;
}
然后,你可以通过{server} / console /访问H2控制台。输入此作为JDBC URL:jdbc:h2:mem:AZ