Escriu per cercar…

Postgres

Introducció

Per a aquesta activitat tens aquest projecte d’ajuda: https://gitlab.com/xtec/kotlin/postgres/

Entorn de treball

Crea un projecte:

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 fitxer 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")
        }
    }
}

Afegeix un fitxer log4j.properties al directori app/src/main/resources per configurar slf4j:

properties
# Opció del logger arrel
log4j.rootLogger=INFO, stdout
# Envia els missatges de log a 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 l’esquema

Crea el directori app/src/main/sqldelight/dev/xtec/data per posar-hi els fitxers .sq

Afegeix un fitxer 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 llegint una vista prèvia.

Inicia sessió amb Google per llegir la pàgina completa.

Inicia sessió amb Google

Amb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.