获取 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
连接到它
我在 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