Escribe para buscar…

Intro

Esta página todavía no se ha traducido — se muestra en su idioma original:Català

Introducció

Ktorm és un plugin del compilador:

compile "org.ktorm:ktorm-core:${ktorm.version}"

Schema

Enlloc de treballar directament amb SQL creem un objecte que representa una taula i que ens permet crear consultes directament amb Kotlin amb tots els beneficis que això comporta.

El primer que has de fer es crear un objecte per cada taula de la base de dades que vulguis accedir.

En la nostra base de dades de demostració tenim dos taules: department i employee:

kotlin
object Departments : Table<Nothing>("department") {
    val id = int("id").primaryKey()
    val name = varchar("name")
    val location = varchar("location")
}

object Employees : Table<Nothing>("employee") {
    val id = int("id").primaryKey()
    val name = varchar("name")
    val job = varchar("job")
    val managerId = int("manager_id")
    val hireDate = date("hire_date")
    val salary = long("salary")
    val departmentId = int("department_id")
}

A continuació, ens conectem a la base de dades i fem una consulta senzilla:

kotlin
fun main() {
    val database = Database.connect("jdbc:mysql://localhost:3306/ktorm", user = "root", password = "***")

    for (row in database.from(Employees).select()) {
        println(row[Employees.name])
    }
}

Quan executes aquest programa, Ktorm generarà una sentència SQL select * from employee que és la que s’enviarà a la base de dades.

La funció select torna un objecte que “overloads” l’operador d’iteració.

Per recòrrer l’iterador utlitzes un bucle for imprimint el nom de cada treballador.

SQL DSL

Pots afegir algunes condicions de filtre a la consulta:

kotlin
database
    .from(Employees)
    .select(Employees.name)
    .where { (Employees.departmentId eq 1) and (Employees.name like "%vince%") }
    .forEach { row -> 
        println(row[Employees.name])
    }

Estás leyendo una vista previa.

Inicia sesión con Google para leer la página completa. Sigue el itinerario de aprendizaje — cada página se desbloquea cuando has leído las que la preceden. El alumnado y el profesorado leen las páginas de su curso sin límite.

Iniciar sesión