Connessione a SQL Server in Kotlin con Apache DbUtils

Mattepuffo's logo
Connessione a SQL Server in Kotlin con Apache DbUtils

Connessione a SQL Server in Kotlin con Apache DbUtils

Apache DbUtils è una libreria per Java che ci consente di usare JDBC in maniera più easy.

In questo articolo vediamo come usarla per connetterci a SQL Server.

Come linguaggio useremo Kotlin.

Se usate Maven:

<dependency>
  <groupId>commons-dbutils</groupId>
  <artifactId>commons-dbutils</artifactId>
  <version>1.8.1</version>
</dependency>

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>mssql-jdbc</artifactId>
  <version>12.8.1.jre11</version>
</dependency>

Poi creiamo una classe che rappresenta la tabella:

package org.example

class Persona {
  var id: Int = 0
  var email: String? = null
}

Come esercizio potreste usare una data class.

Infine il codice di connessione:

package org.example

import org.apache.commons.dbutils.QueryRunner
import org.apache.commons.dbutils.ResultSetHandler
import org.apache.commons.dbutils.handlers.BeanListHandler
import java.sql.DriverManager
import java.sql.SQLException

fun main() {
  val url = "jdbc:sqlserver://localhost:1433;databaseName=test;encrypt=false"
  val username = "sa"
  val password = "PWD"

  try {
    DriverManager.getConnection(url, username, password).use { conn ->
      val qr = QueryRunner()
      val handler: ResultSetHandler<List<Persona>> = BeanListHandler(Persona::class.java)

      val sql = "SELECT id, email FROM persone"
      val persone: List<Persona> = qr.query(conn, sql, handler)

      println("Persone trovate: ${persone.size}")

      for (p in persone) {
        println("${p.id} - ${p.email}")
      }
    }
  } catch (e: SQLException) {
    System.err.println("Errore database: ${e.message}")
  }
}

Enjoy!


Condividi

Commentami!