SQLiteJDBC is a Java JDBC driver for SQLite. It runs using either a native code library 100% Pure Java driver based on NestedVM emulation.
Both the pure driver and the native binaries for Windows, Mac OS X, and Linux x86 have been combined into a single jar file.
The current version is v056, based on SQLite 3.6.14.2.
That should be everything you need.
Read the usage page for the full story.
import java.sql.*;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn =
DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists people;");
stat.executeUpdate("create table people (name, occupation);");
PreparedStatement prep = conn.prepareStatement(
"insert into people values (?, ?);");
prep.setString(1, "Gandhi");
prep.setString(2, "politics");
prep.addBatch();
prep.setString(1, "Turing");
prep.setString(2, "computers");
prep.addBatch();
prep.setString(1, "Wittgenstein");
prep.setString(2, "smartypants");
prep.addBatch();
conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);
ResultSet rs = stat.executeQuery("select * from people;");
while (rs.next()) {
System.out.println("name = " + rs.getString("name"));
System.out.println("job = " + rs.getString("occupation"));
}
rs.close();
conn.close();
}
}
Run with:
java -cp .:sqlitejdbc-v056.jar Test
There are also some details on date handling and custom functions.
To be informed when a new release is made, I recommend subscribing to the freshmeat project for this driver. Every release I make goes up there immediately with a short summary of the changes. They provide a free email service with these details and don't load you up with spam.
There's a mailing list.
Version control for this project is handled with git. Get the source from github.