获取 Spring 个嵌入式数据库内容

Get Spring embeded database content

我在 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","");

但是这个 returns 我是一个空数据库,没有表和记录。

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

连接到它