【问题标题】:Visualizing an embedded H2 database可视化嵌入式 H2 数据库
【发布时间】:2017-10-06 09:00:56
【问题描述】:

我正在尝试通过 Spring Boot 配置和使用 H2 嵌入式数据库。我正在使用the doc中提供的代码:

@Bean
public DataSource dataSource() {
    return new EmbeddedDatabase db = new EmbeddedDatabaseBuilder()
    .generateUniqueName(true)
    .setType(H2)
    .setScriptEncoding("UTF-8")
    .ignoreFailedDrops(true)
    // .addScript("schema.sql") Omit, auto-generate
    .build();
}

应用程序运行良好,我可以创建和检索数据,但我想直观地看到它。我已经安装了H2 Console Application,但我不确定如何连接到内存中的实例。我转到http://localhost:8082,然后在我从connection's metadata 获取时输入的JDBC URL 下(我尝试使用自动生成和手动指定的名称),但H2 控制台应用程序似乎连接到一个空模式.我的表没有出现在那里,只有信息架构,我也不能从我的表中SELECT,它们只是不存在这里。

发生了什么,我连接到什么数据库?如何连接到我的嵌入式数据库?

【问题讨论】:

标签: java spring-boot database-schema h2 auto-generate


【解决方案1】:

如果您想在应用程序中的 h2 控制台上查看表,则无需安装“控制台应用程序”。您只需要 启用 以直观地查看并将您的数据源 URL 设置为 application.properties 。好像是这样的:

spring.datasource.url=jdbc:h2:mem:nprensen;(or if you have already a ds you should write that url)
spring.h2.console.enabled=true
spring.h2.console.path=/console  // this is the path for h2 console:localhost:8080/console

【讨论】:

  • 谢谢,但它不起作用。 Spring 只是忽略了这些。控制台无法访问,DB的URL和以前一样。
  • @nprensen 你能分享你的错误吗?控制台在正常情况下可以访问。也许你做错了什么。
【解决方案2】:

请添加以下依赖项,您可以服务 http 请求。这样,您就可以从浏览器发送 http 请求以访问 h2 控制台。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
</dependency>

【讨论】:

猜你喜欢
  • 2017-03-05
  • 2016-01-22
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2012-10-22
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多