Skip to content

The Java Database Connectivity (JDBC) API

Java Database Connectivity (JDBC) is an application programming interface (API) which defines how a client may access a database. JDBC is like a bridge between a Java application and a database.

The sqlite-jdbc library (which we've added as a dependency) includes both the (SQLite) database system and its JDBC driver1 (to connect JDBC to the database server).

It is very easy to connect to a SQLite database:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import java.sql.*;

public class Main {
  public static void main(String[] args) throws SQLException {
    final String URI = "jdbc:sqlite:./Store.db"; 
    Connection conn = DriverManager.getConnection(URI);

    // do something with the connection

    conn.close();
  }
}

The application above will connect to a SQLite database file Store.db (it will create it if it does not exist). When creating a connection, you provide an argument that specifies the database that you want to connect to. This argument is called a Universal Resource Identifier (URI). A URI includes the application interface (jdbc), the database type (sqlite), where to find the database (the host and path, ./Store.db in the aforementioned example), and any other connection parameters required (such as login details). Note: different parts of URI is separated by a colon.

Common problems

When you run the code above, typically, if you get an error, it will be something like this: Exception in thread "main" java.sql.SQLException: No suitable driver found. Make sure sqlite-jdbc library is added to your application, check for spelling mistakes and that it has the right path. Also, stackoverflow is your troubleshooting friend!


  1. JDBC is a set of interfaces; the interfaces are implemented by a database vendor's JDBC driver class. When you add the dependency for a database, it typically includes an application or data server as well as a JDBC driver that assists you to connect to the database in your Java application.