Connessione a MySQL e MariaDB in Kotlin con Ktorm

Mattepuffo's logo
Connessione a MySQL e MariaDB in Kotlin con Ktorm

Connessione a MySQL e MariaDB in Kotlin con Ktorm

Ktorm è una di quelle librerie per la serie "come ha fatto a sfuggirmi fino adesso??"

E' un ORM per Kotlin che si aggancia a diversi db.

In questo articolo vediamo come usarlo con MySQL e MariaDB.

Dobbiamo aggiungere alcune dipendenze; se usate Maven:

<dependency>
  <groupId>org.ktorm</groupId>
  <artifactId>ktorm-core</artifactId>
  <version>3.6.0</version>
</dependency>

<dependency>
  <groupId>org.ktorm</groupId>
  <artifactId>ktorm-support-mysql</artifactId>
  <version>3.6.0</version>
</dependency>

<dependency>
  <groupId>com.mysql</groupId>
  <artifactId>mysql-connector-j</artifactId>
  <version>9.2.0</version>
</dependency>

Poi creiamo una classe POJO che rappresenta la nostra tabella:

import org.ktorm.schema.Table
import org.ktorm.schema.int
import org.ktorm.schema.varchar

object  Persona: Table<Nothing>("persone") {
  val id = int("id").primaryKey()
  val nome = varchar("nome")
  val email = varchar("email")
}

Infine facciamo qualche operazione:

import org.ktorm.database.Database
import org.ktorm.dsl.*

fun main() {
  val database = Database.connect(
    "jdbc:mysql://localhost:3306/DB",
    user = "USER",
    password = "PWD"
  )

  // INSERISCO UN RECORD
  database.insert(Persona) {
    set(it.nome, "TEST2")
    set(it.email, "email")
  }

  // VISUALIZZO TUTTI I RECORDS
  for (row in database.from(Persona).select()) {
    println(row[Persona.nome] + "-" + row[Persona.email])
  }

  // VISUALIZZO RECORD CERCANDO UNA EMAIL
  database
    .from(Persona)
    .select()
    .where { (Persona.email eq "email") }
    .forEach { row ->
      println(row[Persona.nome] + "-" + row[Persona.email])
    }
}

Enjoy!


Condividi

Commentami!