10.02.2010
Последняя редакция от 13.05.2026
Иванов Аркадий
Также, как и Apache Derby, H2 - это SQL-база на чистой Java, легко встраиваемая в приложение. В описании предполагаю, что используется сервер приложений Tomcat.
- Готовую систему, описания и исходники следует брать на официальном сайте: http://h2database.com
- Из zip-архива вытаскиваю файл h2-1.3.150.jar (или уже более свежую версию) и укладываю в каталог ./lib сервера приложений.
- В Java-программе класс драйвера называется:
String driver = "org.h2.Driver";
URL к базе testbase в Java-программе выглядит так:
String connectionURL = "jdbc:h2:file:path-to-db_file;AUTO_SERVER=TRUE";
Если файла базы ещё нет, он будет создан.
- H2 обладает удобной встроенной консолью для управления базой, доступ к которой можно получить с любого браузера.
Для запуска консоли в браузере:java -jar h2-1.3.150.jar
Строка адреса в браузере:http://localhost:8082
Картинка в браузере:
- Подставляем путь к базе, login, password и получаем к ней доступ.
- При использовании embegged драйвера надо указать сервлет консоли в сервере приложений (файл web.xml) :
<servlet><servlet-name>h2</servlet-name><servlet-class>org.h2.server.web.WebServlet</servlet-class></servlet><servlet-mapping><servlet-name>h2</servlet-name><url-pattern>/console/*</url-pattern></servlet-mapping> - Довольно интересное сравнение производительности с другими открытыми базами (Postgres, MySQL) приводится на сайте.
В 2015 году попробовал сравнить на своём приложении скорость записи в базу с Derby SQL. То, что Derby делала за 2 минуты, H2 сделала за 3 секунды. Нехило!
Для Spring Boot настройки в application.properties:
spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:file:/home/test/h2db spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=login spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
Для Maven:
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency>