如何在ClientDataSource中设置内存数据库?

时间:2014-03-27 11:08:51

标签: java junit4 derby

首先我使用这种方式如何获得连接,一切都很好。

con = DriverManager.getConnection("jdbc:derby:memory:datab;create=true");

但现在我必须将其更改为DataSource以及我如何找到derby的类ClientDataSource,但是我无法找到如何在JUnit测试中设置虚拟DB。

ClientDataSource ds = new ClientDataSource();
con = ds.getConnection();

1 个答案:

答案 0 :(得分:0)

因为我在谷歌搜索期间发现了这个问题:

答案是使用EmbeddedDataSource代替ClientDataSource并保留"内存:"数据库名称前面的前缀

import org.apache.derby.jdbc.EmbeddedDataSource;
...
EmbeddedDataSource ds = new EmbeddedDataSource();

ds.setDatabaseName("memory:" + "datab");
ds.setCreateDatabase("create");
ds.setUser("user");
ds.setPassword("pwd");