Usare DuckDB in Java

Mattepuffo's logo
Usare DuckDB in Java

Usare DuckDB in Java

DuckDB è un database che potremmo usare al posto del classico SQLite.

Come potete vedere dalla documentazione, supporta parecchi linguaggi; inoltre pare essere più veloce e performante rispetto a SQLite.

In questo articolo vediamo come usarlo in Java; possiamo installarlo tramite Maven:

<dependency>
	<groupId>org.duckdb</groupId>
	<artifactId>duckdb_jdbc</artifactId>
	<version>0.5.0</version>
</dependency>

Qui sotto un esempio di codice:

import java.sql.*;

public class Main {

    public static void main(String[] args) {
        try {
            Class.forName("org.duckdb.DuckDBDriver");
            Connection conn = DriverManager.getConnection("jdbc:duckdb:");
            Statement stmt = conn.createStatement();
            stmt.execute("CREATE TABLE articoli (nome VARCHAR, prezzo DECIMAL(10,2))");
            stmt.execute("INSERT INTO articoli VALUES ('articolo 1', 20.0), ('articolo 2', 42.2)");

            ResultSet rs = stmt.executeQuery("SELECT * FROM articoli");
            while (rs.next()) {
                System.out.println(rs.getString(1) + " - " + rs.getInt(2));
                System.out.println("-----");
            }
            rs.close();
        } catch (ClassNotFoundException | SQLException e) {
            System.out.println(e.getMessage());
        }
    }

}

Se impostiamo come stringa di connessione jdbc:duckdb:, senza indicare un path, verrà creato un database in-memory.

Questo vuol dire che alla chiusura del programma, il db verrà cancellato.

Enjoy!


Condividi

Commentami!