首先我使用这种方式如何获得连接,一切都很好。
con = DriverManager.getConnection("jdbc:derby:memory:datab;create=true");
但现在我必须将其更改为DataSource以及我如何找到derby的类ClientDataSource,但是我无法找到如何在JUnit测试中设置虚拟DB。
ClientDataSource ds = new ClientDataSource();
con = ds.getConnection();
答案 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");