java - 获取 Spring 嵌入式数据库内容

标签 java database spring-boot h2 imdb

我在 Spring 框架中创建了一个 H2 内存数据库,如下所示:

  EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
  EmbeddedDatabase db = builder
            .setType(EmbeddedDatabaseType.H2) //.H2 or .DERBY
            .addScript("create-table.sql")
            .build();

我想制作另一个 Java 应用程序,它连接到这个数据库并从中访问数据。

我可以用这段代码连接到数据库:

Connection connecton = DriverManager.getConnection("jdbc:h2:mem:testdb","sa","");

但这会返回一个空数据库,没有表和记录。

Here is a description告诉我们如何解决这个问题。

不幸的是,我无法理解如何使用 Spring 容器MethodInvokingBean,因为我不知道在哪里编码、如何使用、如何工作等.

如果有人制作一个简短的教程,我将不胜感激。

谢谢

最佳答案

你可以启动一个TCP服务器来共享数据库。添加以下配置:

<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop">
  <constructor-arg value="-tcp,-tcpAllowOthers,-tcpPort,9092"/>
</bean>

一旦服务器启动,其他 Java 应用程序可以使用 jdbc:h2:tcp://localhost:9092/mem:testdb 连接到它

关于java - 获取 Spring 嵌入式数据库内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39808724/

相关文章:

java - android Java 如何从 TextView 添加新的文本行

c# - 我如何修改我输入的记录?

Java 桌面应用程序加数据库加互联网

c# - 将用户输入的用户名/密码与 mysql 数据库用户名/密码进行比较不起作用

spring boot oauth2 配置 : resource server remains unprotected

java - 将值设置/放入Spring-boot的Spring环境中以供以后使用

java - 定期连接数据库

java - 在 JAVA 中处理 "netascii"

spring - ReactiveCrudRepository 没有被 Spring 发现注入(inject)其他类

java - 从另一个 jar 读取变量值