当前位置: 首页 > 面试题库 >

spring boot default H2 jdbc connection (and H2 console)

马亮
2023-03-14
问题内容

当我未在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控制台在启动时工作(以及找出spring使用的jdbc连接字符串方法)?


问题答案:

就我而言,我为数据库选择了一个特定的名称,以便在启动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



 类似资料:

相关阅读

相关文章

相关问答