获取Spring嵌入式数据库内容

时间:2016-10-01 16:05:47

标签: 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,因为我不知道在哪里编码,如何使用,如何使用等等。

我很感激有人做了一个简短的教程。

由于

1 个答案:

答案 0 :(得分:1)

您可以启动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

连接到它