
Driver JDBC Java para bancos de dados SQLite com suporte a biblioteca nativa nos principais sistemas operacionais, permitindo conectividade padrão com bancos de dados sem configuração.
SQLite JDBC é uma biblioteca para acessar e criar arquivos de banco de dados SQLite em Java.
Nossa biblioteca SQLiteJDBC não requer configuração, pois as bibliotecas nativas para os principais sistemas operacionais, incluindo Windows, macOS, Linux etc., são montadas em um único arquivo JAR (Java Archive).
➡️ Mais exemplos de uso e configuração estão disponíveis em USAGE.md
SQLite JDBC é uma biblioteca para acessar bancos de dados SQLite por meio da API JDBC. Para o uso geral do JDBC, consulte Tutorial de JDBC ou Documentação JDBC da Oracle.
sqlite-jdbc-(VERSION).jar
e adicione esse arquivo jar ao seu classpath.Supondo que sqlite-jdbc-(VERSION).jar esteja no diretório atual.
> javac Sample.java
> java -classpath ".;sqlite-jdbc-(VERSION).jar" Sample # in Windows
or
> java -classpath ".:sqlite-jdbc-(VERSION).jar" Sample # in macOS or Linux
name = leo
id = 1
name = yui
id = 2
Sample.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sample
{
public static void main(String[] args)
{
Connection connection = null;
try
{
// create a database connection
connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
Statement statement = connection.createStatement();
statement.setQueryTimeout(30); // set timeout to 30 sec.
statement.executeUpdate("drop table if exists person");
statement.executeUpdate("create table person (id integer, name string)");
statement.executeUpdate("insert into person values(1, 'leo')");
statement.executeUpdate("insert into person values(2, 'yui')");
ResultSet rs = statement.executeQuery("select * from person");
while(rs.next())
{
// read the result set
System.out.println("name = " + rs.getString("name"));
System.out.println("id = " + rs.getInt("id"));
}
}
catch(SQLException e)
{
// if the error message is "out of memory",
// it probably means no database file is found
System.err.println(e.getMessage());
}
finally
{
try
{
if(connection != null)
connection.close();
}
catch(SQLException e)
{
// connection close failed.
System.err.println(e.getMessage());
}
}
}
}
Nosso pacote do driver JDBC do SQLite (ou seja, sqlite-jdbc-(VERSION).jar) contém três tipos de bibliotecas nativas do SQLite (sqlite-jdbc.dll, sqlite-jdbc.jnilib, sqlite-jdbc.so), cada uma compilada para Windows, macOS e Linux. Um arquivo de biblioteca nativa apropriado é extraído automaticamente para a pasta temporária do seu sistema operacional quando seu programa carrega o driver org.sqlite.JDBC.
Desde o sqlite-jdbc-3.6.19, os mecanismos SQLite compilados nativamente serão usados para os seguintes sistemas operacionais:
| x86 | x86_64 | armv5 | armv6 | armv7 | arm64 | ppc64 | |
|---|---|---|---|---|---|---|---|
| Windows | ✔ | ✔ | ✔ | ✔ | |||
| macOS | ✔ | ✔ | |||||
| Linux (libc) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Linux (musl) | ✔ | ✔ | ✔ | ||||
| Android | ✔ | ✔ | ✔ | ✔ | |||
| FreeBSD | ✔ | ✔ | ✔ |
Nos demais sistemas operacionais não listados acima, o SQLite puro em Java é usado. (Aplica-se a versões anteriores a 3.7.15)
Se quiser usar a biblioteca nativa para o seu sistema operacional, compile o código-fonte do zero.
Baixe do Maven Central ou da página de releases.
<dependencies>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>(version)</version>
</dependency>
</dependencies>
Snapshots da versão de desenvolvimento estão disponíveis no repositório de snapshots da Sonatype.
A versão do projeto segue a versão da biblioteca SQLite incluída no jar, com um dígito extra para indicar o incremento do projeto.
Por exemplo, se a versão do SQLite for 3.39.2, a versão do projeto será 3.39.2.x, em que x começa em 0 e aumenta a cada release que não altera a versão do SQLite.
Se a versão do SQLite for atualizada para 3.40.0, a versão do projeto será atualizada para 3.40.0.0.
Talvez seja necessário adicionar o transformer do plugin shade para resolver o problema No suitable driver found for jdbc:sqlite:.
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/services/java.sql.Driver</resource>
</transformer>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>(version)</version>
</dependency>
Estamos sempre procurando por:
Por favor, leia nosso guia de contribuição.