Вопрос

На данный момент мы используем HSQLDB как встроенная база данных, но мы ищем базу данных с меньшим объемом памяти по мере роста объема данных.

Дерби / JavaDB на данный момент это не вариант, поскольку он хранит свойства глобально в свойствах системы.Итак, мы подумали о ч2.

Используя HSQLDB, мы создали объект Сервер, установили параметры и запустили его.Это описано здесь (и приведен в качестве примера в классе org.hsqldb.test.TestBase).

Вопрос в том:Можно ли это сделать аналогично с базой данных h2?Есть ли у вас примеры кода для этого?Просканировав h2-страницу, я не нашел примера.

Это было полезно?

Решение

После загрузки я вижу, что файл учебник.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-адресу следующим образом (их пример):

Эту базу данных можно использовать во встроенном режиме или в режиме сервера.Чтобы использовать его во встроенном режиме, вам нужно:

* 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 ):

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 исключительно в памяти/встроенном режиме, вы тоже можете это сделать.Подробнее см. по этой ссылке:

Вам просто нужно использовать специальный URL-адрес в обычном коде JDBC, например «jdbc:h2:mem:db1».

Если по какой -то причине вам нужна встроенная база данных H2 в режиме сервера, вы можете сделать это либо вручную, используя API в http://www.h2database.com/javadoc/org/h2/tools/Server.html - Или, придаваясь; auto_server = true для URL базы данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top