Java JDBC Connection to H2 Database Example

In this post, we will learn how to connect to the H2 database and create a table in the H2 Database using Java programming language (JDBC API).

H2 Database Setup and Configuration

  1. Download H2 database dependency or jar file from the official website http://www.h2database.com/html/download.html or from https://mvnrepository.com/artifact/com.h2database/h2/1.4.199.
  2. Add H2 Jar file to your project classpath.
  3. By default the Java application to connect to an H2 in-memory store with the username sa and an empty password.
 private static String jdbcURL = "jdbc:h2:~/test"; private static String jdbcUsername = "sa"; private static String jdbcPassword = "";

JDBC Util Class

Let's first create an H2JDBCUtils.java file with all JDBC common methods like:
package net.javaguides.jdbc.h2.crud; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class H2JDBCUtils { private static String jdbcURL = "jdbc:h2:~/test"; 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 e.printStackTrace(); } return connection; } public static void printSQLException(SQLException ex) { for (Throwable e: ex) { if (e instanceof SQLException) { e.printStackTrace(System.err); 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(); } } } } }
This class we will use in the next Java programs.

Create a Table with the H2 Database

This Java program creates a users table into the H2 database.
package net.javaguides.jdbc.h2.crud; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; /**  * Create Statement JDBC Example  * @author Ramesh Fadatare  *  */ public class H2CreateExample { 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 { H2CreateExample createTableExample = new H2CreateExample(); createTableExample.createTable(); } public void createTable() throws SQLException { System.out.println(createTableSQL); // Step 1: Establishing a Connection try (Connection connection = H2JDBCUtils.getConnection(); // Step 2:Create a statement using connection object Statement statement = connection.createStatement();) { // Step 3: Execute the query or update query statement.execute(createTableSQL); } catch (SQLException e) { // print SQL exception information H2JDBCUtils.printSQLException(e); } } }
Output:
create table users ( id int(3) primary key, name varchar(20), email varchar(20), country varchar(20), password varchar(20) );

Related JDBC Source Code Examples



Comments