【发布时间】:2017-02-10 01:08:20
【问题描述】:
我在 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,因为我不知道在哪里编码、如何使用、如何工作等等。
如果有人制作一个简短的教程,我将不胜感激。
谢谢
【问题讨论】:
-
您是否测试过第一个应用程序?
-
是的,我做到了,而且工作正常。我可以毫无问题地获取记录。
-
第二个应用程序是否运行类似于第一个应用程序的 DDL 脚本?我的意思是创建/更改表。如果是这样,它将清除第一个应用程序保留的数据。如果您使用第二个应用程序只是为了读取数据,您可以使用只读模式。
-
Java 没有使用任何 .dll 文件。只读模式在概念上与数据库连接无关。
标签: java database spring-boot h2 imdb