我在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
,因为我不知道在哪里编码,如何使用,如何使用等等。
我很感激有人做了一个简短的教程。
由于
答案 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