Автор оригинала: Pankaj Kumar.
HSQLDB (база данных HyperSQL) – это программное обеспечение для реляционных баз данных, написанное на Java. HSQLDB очень прост в использовании и требует очень меньше памяти. HSQLDB обеспечивает поддержку многопоточности, и это отличный выбор для простого тестирования вашего приложения в базе данных.
Установка HSQLDB
Давайте посмотрим, как мы можем легко установить HSQLDB.
- Загрузите ядро базы данных HyperSQL из SourceForge . Распакуйте архив в ваше любимое место после загрузки zip-файла.
- Последняя версия базы данных HyperSQL-2.4.1, и она поддерживает Java 8 , Java 9 и Java 10 . Если у вас установлена необходимая версия java, то вы готовы запустить базу данных.
Запуск базы данных HSQLDB
Приведенная ниже команда запустит экземпляр базы данных HSQLDB.
$java -cp lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:data/mydb --dbname.0 Test
Приведенная выше команда запустит HSQLDB в режиме сервера, мы указываем местоположение, в котором будет создан файл сценария базы данных. dbname.0
указывает общедоступное имя базы данных, и оно используется клиентскими приложениями для подключения к этому экземпляру базы данных.
На рисунке ниже показан вывод консоли, выполненный командой, обратите внимание, что терминал останется открытым после запуска сервера базы данных. Если вы хотите, чтобы HSQLDB работал в фоновом режиме, добавьте &
в приведенную выше команду.
Менеджер баз данных HSQL
Менеджер баз данных HSQL предоставляет графический интерфейс для подключения к экземплярам базы данных HSQL. Это позволяет нам выполнять некоторые полезные команды, такие как заполнение тестовых данных, выключение сервера и т.д. Мы можем использовать приведенную ниже команду для запуска приложения HSQL Database Manager Swing.
$java -cp lib/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
При запуске приложения открывается всплывающее окно для ввода сведений о конфигурации базы данных для подключения. Предоставьте необходимую информацию, как показано на рисунке ниже, и подключитесь к экземпляру базы данных.
HSQLDB Вставить тестовые данные
Мы можем использовать менеджер баз данных HSQL для заполнения тестовых данных, как показано на рисунке ниже.
Это создаст несколько таблиц и вставит в них некоторые значения, как показано на рисунке ниже.
Сервер завершения работы HSQLDB
Мы можем выйти из терминала, чтобы резко отключить сервер HSQLDB. Когда мы запустим сервер в следующий раз, он выберет, где он был завершен. Тем не менее, мы можем использовать менеджер баз данных HSQL для корректного выключения сервера.
Как только команда “ЗАВЕРШЕНИЕ работы” будет выполнена, появится следующий экран.
Файл сценария HSQLDB
HSQLDB хранит таблицу базы данных и ее данные в виде файла сценария SQL. Для каждого экземпляра базы данных HSQLDB создает файл сценария. Если вы откроете файл сценария в текстовом редакторе, он будет выглядеть как файл сценария SQL. Вы можете использовать этот файл сценария для экспорта данных из HSQLDB в другие базы данных, такие как MySQL, Oracle и т.д.
Пример HSQLDB
Давайте рассмотрим простой пример, в котором мы подключимся к нашему экземпляру базы данных HSQLDB и получим некоторые данные из введенных нами тестовых данных.
Создайте простой проект maven и добавьте зависимость от драйвера HSQLDB.
org.hsqldb hsqldb 2.4.1
Мы будем использовать org.hsqldb.jdbc.JDBCDriver
класс драйвера для создания подключения к нашему серверу базы данных HSLQDB. Ниже приведен служебный класс, показывающий, как создать SQL-соединение с базой данных HSQLDB.
package com.journaldev.hsqldb; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class HSQLDBConnection { public static Connection getConnection() { Connection con = null; try { Class.forName("org.hsqldb.jdbc.JDBCDriver"); System.out.println("HSQLDB JDBCDriver Loaded"); con = DriverManager.getConnection( "jdbc:hsqldb:hsql://localhost/Test", "SA", ""); System.out.println("HSQLDB Connection Created"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } }
Вот тестовый класс, в котором мы получаем соединение HSQLDB и выполняем некоторые запросы к базе данных.
package com.journaldev.hsqldb; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class HSQLDBExample { public static void main(String[] args) { Connection con = HSQLDBConnection.getConnection(); System.out.println("Connection Obtained"); try { PreparedStatement ps = con.prepareStatement( "select id, firstName, lastName from customer"); ResultSet rs = ps.executeQuery(); while (rs.next()) { System.out.println("ID = " + rs.getInt("id") + ", Name = " + rs.getString("firstName") + " " + rs.getString("lastName")); } rs.close(); con.close(); } catch (SQLException e1) { e1.printStackTrace(); } } }
Обратите внимание, что, кроме класса драйвера, все использует общие классы SQL. Вы также можете запускать другие команды CRUD-операций.
Результат, полученный в рамках основной программы:
HSQLDB JDBCDriver Loaded HSQLDB Connection Created Connection Obtained ID = 0, Name = Laura Steel ID = 1, Name = Robert King ... ID = 49, Name = Robert Steel
На рисунке ниже показана окончательная структура нашего очень простого примера проекта HSQLDB.
Резюме
HSQLDB-очень хорошая утилита для создания локальной базы данных для разработки и запуска тестовых систем. Он имеет очень низкие требования к памяти и предоставляет большинство основных функций для приложения. Я думаю, что это отстает от области безопасности, потому что данные хранятся в простых текстовых файлах. Вы можете использовать его для базовых целей разработки и позже переключиться на более совершенные реляционные базы данных, такие как MySQL.
Ссылка: Официальный сайт