目前,我們使用HSQLDB作爲嵌入式數據庫,但我們搜索數據庫以較少的內存佔用的數據量的增長。嵌入在Java數據庫H2編程
Derby/JavaDB是不是現在的選擇,因爲它在系統屬性中存儲全球性質。所以我們想到了h2。
當我們使用HSQLDB時,我們創建了一個Server對象,設置參數並啓動它。這被描述爲here(並且在類org.hsqldb.test.TestBase中作爲示例給出)。
問題是:這是否也可以與h2數據庫類似?你有任何代碼樣本嗎?掃描h2頁面,我沒有找到一個例子。
目前,我們使用HSQLDB作爲嵌入式數據庫,但我們搜索數據庫以較少的內存佔用的數據量的增長。嵌入在Java數據庫H2編程
Derby/JavaDB是不是現在的選擇,因爲它在系統屬性中存儲全球性質。所以我們想到了h2。
當我們使用HSQLDB時,我們創建了一個Server對象,設置參數並啓動它。這被描述爲here(並且在類org.hsqldb.test.TestBase中作爲示例給出)。
問題是:這是否也可以與h2數據庫類似?你有任何代碼樣本嗎?掃描h2頁面,我沒有找到一個例子。
從下載,我看到該文件tutorial.html有這個
import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();
是的,你可以在嵌入模式運行H2。你只需要使用JDBC驅動程序,並連接到一個嵌入的URL是這樣的(他們的例子):
這個數據庫可以在嵌入式 模式中使用,或者在服務器模式。在 嵌入模式下使用它,你需要:如果你正在尋找
import org.h2.jdbcx.JdbcDataSource; // ... JdbcDataSource ds = new JdbcDataSource(); ds.setURL("jdbc:h2:˜/test"); ds.setUser("sa"); ds.setPassword("sa"); Connection conn = ds.getConnection();
:使用JDBC連接到嵌入式數據庫H2的
* Add h2.jar to the classpath * Use the JDBC driver class: org.h2.Driver * The database URL jdbc:h2:~/test opens the database 'test' in your user home directory
示例(改編自http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html)在純粹的內存/嵌入模式下使用H2,你也可以這樣做。請參閱此鏈接更多:
你只需要使用一個特殊的URL在正常JDBC代碼,如 「爲jdbc:H2:MEM:DB1」。
如果由於某種原因,你需要在服務器模式下的嵌入式數據庫H2,你可以做到這一點無論是使用API 在http://www.h2database.com/javadoc/org/h2/tools/Server.html手動 - 或 追加; AUTO_SERVER = TRUE到數據庫URL。
我需要設置「屬性」對,說:我要 - 至少 - 設置數據庫所在目錄這就是爲什麼我們不能用德比/ JavaDB之外,因爲它使用的系統屬性,如規定的原因在問題中。 – Georgi 2008-10-01 01:41:55