Escribe para buscar…

Postgres

Introducción

Para esta actividad tienes este proyecto de ayuda: https://gitlab.com/xtec/kotlin/postgres/

Entorno de trabajo

Crea un proyecto:

ps
> mkdir postgres
> cd postgres
> gradle init --package dev.xtec --project-name postgres --java-version 21 --type kotlin-application --dsl kotlin --test-framework kotlintest --no-split-project --no-incubating --overwrite

Modifica el fichero app/build.gradle.kts:

kotlin
plugins {
    id("app.cash.sqldelight") version "2.0.2"
    // ...
}

dependencies {
    implementation("app.cash.sqldelight:jdbc-driver:2.0.2")
    implementation("com.zaxxer:HikariCP:6.2.1")
    implementation("io.github.cdimascio:dotenv-kotlin:6.5.0")
    implementation("org.postgresql:postgresql:42.5.0")
    implementation("org.slf4j:slf4j-reload4j:2.0.16")
    // ...
}

sqldelight {
    databases {
        create("Database") {
            packageName.set("dev.xtec.data")
            dialect("app.cash.sqldelight:sqlite-3-38-dialect:2.0.2")
        }
    }
}

Añade un fichero log4j.properties en el directorio app/src/main/resources para configurar slf4j:

properties
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Configura el esquema

Crea el directorio app/src/main/sqldelight/dev/xtec/data para poner los ficheros .sq

Añade un fichero Customer.sq:

sql
CREATE TABLE IF NOT EXISTS customer (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL,
    email TEXT
);

insert:
INSERT INTO customer(name) VALUES (?);

select:
SELECT * FROM customer;

Estás leyendo una vista previa.

Inicia sesión con Google para leer la página completa. Una cuenta de Google incluye 5 páginas gratuitas en total; el alumnado y el profesorado leen las páginas de su curso sin límite.

Iniciar sesión