
SQLite JDBC è una libreria per accedere e creare file di database SQLite in Java.
La nostra libreria SQLiteJDBC non richiede alcuna configurazione poiché le librerie native per i principali sistemi operativi, tra cui Windows, macOS, Linux ecc., sono assemblate in un unico file JAR (Java Archive).
➡️ Ulteriori esempi di utilizzo e configurazione sono disponibili in USAGE.md
SQLite JDBC è una libreria per accedere ai database SQLite tramite l'API JDBC. Per l'utilizzo generale di JDBC, vedere JDBC Tutorial o Oracle JDBC Documentation.
sqlite-jdbc-(VERSION).jar
quindi aggiungere questo file jar al proprio classpath.Supponendo che sqlite-jdbc-(VERSION).jar sia posizionato nella directory corrente.
> 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());
}
}
}
}
Il nostro pacchetto del driver JDBC per SQLite (cioè sqlite-jdbc-(VERSION).jar) contiene tre
tipi di librerie SQLite native (sqlite-jdbc.dll, sqlite-jdbc.jnilib, sqlite-jdbc.so),
ciascuna compilata per Windows, macOS e Linux. Un file di libreria nativa appropriato
viene automaticamente estratto nella cartella temporanea del proprio sistema operativo, quando il programma
carica il driver org.sqlite.JDBC.
A partire da sqlite-jdbc-3.6.19, i motori SQLite compilati nativamente vengono utilizzati per i seguenti sistemi operativi:
Negli altri sistemi operativi non elencati sopra, viene utilizzato SQLite in puro Java. (Applicabile alle versioni precedenti alla 3.7.15)
Se si desidera utilizzare la libreria nativa per il proprio sistema operativo, compilare il sorgente da zero.
Scaricare da Maven Central o dalla pagina delle releases.
<dependencies>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>(version)</version>
</dependency>
</dependencies>
Gli snapshot della versione di sviluppo sono disponibili nel repository degli snapshot di Sonatype.
La versione del progetto segue la versione della libreria SQLite inclusa nel jar, con una cifra aggiuntiva per indicare l'incremento del progetto.
Ad esempio, se la versione di SQLite è 3.39.2, la versione del progetto sarà 3.39.2.x, dove x parte da 0 e aumenta a ogni release che non modifica la versione di SQLite.
Se la versione di SQLite viene aggiornata a 3.40.0, la versione del progetto verrà aggiornata a 3.40.0.0.
Potrebbe essere necessario aggiungere un transformer del plugin shade per risolvere il 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>
Siamo sempre alla ricerca di:
Si prega di leggere la nostra guida al contributo.
| x86 | x86_64 | armv5 | armv6 | armv7 | arm64 | ppc64 |
|---|
| Windows | ✔ | ✔ | ✔ | ✔ | |||
| macOS | ✔ | ✔ | |||||
| Linux (libc) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Linux (musl) | ✔ | ✔ | ✔ | ||||
| Android | ✔ | ✔ | ✔ | ✔ | |||
| FreeBSD | ✔ | ✔ | ✔ |