Рубрики
Без рубрики

ява.ланг.Учебник по ArrayIndexOutOfBoundsException HSQLDB

HSQLDB, Менеджер баз данных HSQL, Пример HSQLDB, Учебник по HSQLDB, установка HSQLDB, JDBCDriver HSQLDB, установка HSQLDB, создание тестовых таблиц, завершение работы.

Автор оригинала: Pankaj Kumar.

HSQLDB (база данных HyperSQL) – это программное обеспечение для реляционных баз данных, написанное на Java. HSQLDB очень прост в использовании и требует очень меньше памяти. HSQLDB обеспечивает поддержку многопоточности, и это отличный выбор для простого тестирования вашего приложения в базе данных.

Установка HSQLDB

Давайте посмотрим, как мы можем легко установить HSQLDB.

  1. Загрузите ядро базы данных HyperSQL из SourceForge . Распакуйте архив в ваше любимое место после загрузки zip-файла.
  2. Последняя версия базы данных 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.

Ссылка: Официальный сайт