H2 SQL

10.02.2010
Последняя редакция от 22.10.2015
Иванов Аркадий

 

   

     Также, как и Apache Derby, H2 - это SQL-база на чистой Java, легко встраиваемая в приложение. В описании предполагаю, что используется сервер приложений Tomcat.

 

  1. Готовую систему, описания и исходники следует брать на официальном сайте: http://h2database.com
  2. Из zip-архива вытаскиваю файл h2-1.3.150.jar (или уже более свежую версию) и укладываю в каталог ./lib сервера приложений.
  3. В Java-программе класс драйвера называется:
    String driver = "org.h2.Driver"; 

    URL к базе testbase в Java-программе выглядит так:
    String connectionURL = "jdbc:h2:testbase;AUTO_SERVER=TRUE";

    Файл базы ищется в каталоге, откуда вы запускаете сервер.
    Если файла базы ещё нет, он будет создан.

    Можно указать прямой путь, например так:
    String connectionURL = "jdbc:h2:/home/user/testbase;AUTO_SERVER=TRUE";
     
  4. H2 обладает удобной встроенной консолью для управления базой,  доступ к которой можно получить с любого броузера.
    При использовании 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>
  5. Довольно интересное сравнение производительности с другими открытыми базами (Postgres, MySQL) приводится на сайте.

    В 2015 году попробовал сравнить на своём приложении скорость записи в базу с Derby SQL. То, что Derby делала за 2 минуты, H2 сделала за 3 секунды. Нехило!