以编程方式嵌入 Java h2 数据库

2024-04-18

目前我们使用HSQLDB http://www.hsqldb.org/作为嵌入式数据库,但随着数据量的增长,我们会寻找内存占用更少的数据库。

德比/JavaDB http://developers.sun.com/javadb/目前不是一个选项,因为它将全局属性存储在系统属性中。所以我们想到了h2 http://www.h2database.com/html/main.html.

当我们使用 HSQLDB 时,我们创建了一个服务器对象,设置了参数并启动它。这是描述的here http://hsqldb.org/doc/guide/ch04.html#N10BBC(并在 org.hsqldb.test.TestBase 类中作为示例给出)。

问题是:这也可以与 h2 数据库类似吗?你有这方面的代码示例吗?扫描 h2 页面,我没有找到示例。


是的,您可以在嵌入模式下运行 H2。您只需使用 JDBC 驱动程序并连接到嵌入的 url,如下所示(他们的示例):

该数据库可用于嵌入式 模式,或服务器模式。要将其用于 嵌入模式,您需要:

* 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

使用 JDBC 连接嵌入式 H2 数据库的示例(改编自http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.html ):

import org.h2.jdbcx.JdbcDataSource;
// ...
JdbcDataSource ds = new JdbcDataSource();
ds.setURL("jdbc:h2:˜/test");
ds.setUser("sa");
ds.setPassword("sa");
Connection conn = ds.getConnection();

如果您希望在纯粹的内存/嵌入模式下使用 H2,您也可以这样做。请参阅此链接了解更多信息:

  • http://www.h2database.com/html/features.html#in_memory_databases http://www.h2database.com/html/features.html#in_memory_databases

您只需要在普通 JDBC 代码中使用特殊的 URL,如“jdbc:h2:mem:db1”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式嵌入 Java h2 数据库 的相关文章

随机推荐