Usare DuckDB in Kotlin

Mattepuffo's logo
Usare DuckDB in Kotlin

Usare DuckDB in Kotlin

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 Kotlin.

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.*

fun main() {
    try {
        Class.forName("org.duckdb.DuckDBDriver")
        val conn: Connection = DriverManager.getConnection("jdbc:duckdb:")
        val stmt: Statement = 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)")
        val rs: ResultSet = stmt.executeQuery("SELECT * FROM articoli")
        while (rs.next()) {
            println(rs.getString(1) + " - " + rs.getInt(2))
            println("-----")
        }
        rs.close()
    } catch (e: ClassNotFoundException) {
        println(e.message)
    } catch (e: SQLException) {
        println(e.message)
    }
}

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!