Java JDBC Connection to HSQLDB Database

A JDBC example to show you how to connect to an HSQLDB database with a JDBC driver.

HyperSQL Database (HSQLDB) is a modern relational database manager that conforms closely to the SQL:2011 standard and JDBC 4 specifications. It supports all core features and RDBMS. HSQLDB is used for development, testing, and deployment of database applications.

Learn JDBC at

HSQLDB - Installation

Refer below link to install HSQLDB: 

HSQLDB Setup and Configuration

  1. Download HSQLDB dependency or jar file from the official website
  2. Add the HSQLDB Jar file to your project classpath.
  3. By default the Java application to connect to an HSQLDB with the username SA and an empty password. Example:
 private static String jdbcURL = "jdbc:hsqldb:hsql://localhost/testdb";
 private static String jdbcUsername = "SA";
 private static String jdbcPassword = "";

JDBC Util Class

Let's create a file with all JDBC common methods like:
package net.javaguides.jdbc.hsqldb.crud;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCUtils {

    private static String jdbcURL = "jdbc:hsqldb:hsql://localhost/testdb";
    private static String jdbcUsername = "SA";
    private static String jdbcPassword = "";

    public static Connection getConnection() {
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(jdbcURL, jdbcUsername, jdbcPassword);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
        return connection;

    public static void printSQLException(SQLException ex) {
        for (Throwable e: ex) {
            if (e instanceof SQLException) {
                System.err.println("SQLState: " + ((SQLException) e).getSQLState());
                System.err.println("Error Code: " + ((SQLException) e).getErrorCode());
                System.err.println("Message: " + e.getMessage());
                Throwable t = ex.getCause();
                while (t != null) {
                    System.out.println("Cause: " + t);
                    t = t.getCause();

JDBC Connection with HSQLDB and Create a Table in the HSQLDB

This JDBC program creates a users table into the HSQLDB.
package net.javaguides.jdbc.hsqldb.crud;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

 * Create Statement JDBC Example
 * @author Ramesh Fadatare
public class HSQLDBCreateExample {

    private static final String createTableSQL = "create table users (\r\n" + "  id  int(3) primary key,\r\n" +
        "  name varchar(20),\r\n" + "  email varchar(20),\r\n" + "  country varchar(20),\r\n" +
        "  password varchar(20)\r\n" + "  );";

    public static void main(String[] argv) throws SQLException {
        HSQLDBCreateExample createTableExample = new HSQLDBCreateExample();

    public void createTable() throws SQLException {

        // Step 1: Establishing a Connection
        try (Connection connection = JDBCUtils.getConnection();
            // Step 2:Create a statement using connection object
            Statement statement = connection.createStatement();) {

            // Step 3: Execute the query or update query
        } catch (SQLException e) {
            // print SQL exception information