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!
kotlin maven database duckdb
Commentami!