Arbeiten mit Datenbanken in Kotlin: PostgreSQL und MongoDB für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit Datenbanken in Kotlin

Kotlin ist eine moderne Programmiersprache, die aktiv für die Entwicklung von Serveranwendungen, Android-Apps und Backend-Diensten eingesetzt wird. Eine der Schlüsselqualifikationen für jeden Entwickler ist die Fähigkeit, mit Datenbanken zu arbeiten. In diesem Artikel werden wir uns ansehen, wie man sich mit der relationalen Datenbank PostgreSQL und der dokumentenorientierten Datenbank MongoDB verbindet, und zwar mit Kotlin. Das Material richtet sich an Anfänger: Wir behandeln die Installation von Treibern, die Konfiguration der Verbindung und die Durchführung grundlegender CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen).



1. Umgebungsvorbereitung und Abhängigkeiten

Für die Arbeit benötigen Sie ein Kotlin-Projekt (z. B. mit Gradle oder Maven). Wir verwenden Gradle – das beliebteste Build-Tool im Kotlin-Ökosystem. Fügen Sie die folgenden Abhängigkeiten in die Datei build.gradle.kts ein:

dependencies {    // Für PostgreSQL    implementation("org.jetbrains.exposed:exposed-core:0.44.1")    implementation("org.jetbrains.exposed:exposed-dao:0.44.1")    implementation("org.jetbrains.exposed:exposed-jdbc:0.44.1")    implementation("org.postgresql:postgresql:42.7.1")

// Für MongoDB implementation("org.mongodb:mongodb-driver-kotlin-sync:4.11.1") implementation("org.mongodb:bson-kotlinx:4.11.1")}

Exposed ist eine leichtgewichtige ORM-Bibliothek für Kotlin, die die Arbeit mit SQL-Datenbanken vereinfacht. Für MongoDB verwenden wir den offiziellen Kotlin-Treiber von MongoDB.



2. Arbeiten mit PostgreSQL über Exposed

2.1. Verbindung zur Datenbank herstellen

Zuerst erstellen wir ein Objekt für die Verbindung zu PostgreSQL. Stellen Sie sicher, dass auf Ihrem Computer ein PostgreSQL-Server läuft und eine Datenbank (z. B. testdb) erstellt wurde.

import org.jetbrains.exposed.sql.Databaseimport org.jetbrains.exposed.sql.transactions.transaction

fun main() { // Verbindung zur lokalen DB Database.connect( url = "jdbc:postgresql://localhost:5432/testdb", driver = "org.postgresql.Driver", user = "postgres", password = "your_password" )

println("Verbindung zu PostgreSQL erfolgreich hergestellt")}

Nach der Verbindung können SQL-Abfragen ausgeführt werden. Exposed verwendet eine DSL (Domain-Specific Language) zum Schreiben von Abfragen in Kotlin.



2.2. Erstellen einer Tabelle und CRUD-Operationen

Definieren wir eine einfache Tabelle Users mit den Feldern id, name und email:

import org.jetbrains.exposed.sql.*import org.jetbrains.exposed.sql.transactions.transaction

object Users : Table() { val id = integer("id").autoIncrement() val name = varchar("name", 50) val email = varchar("email", 100)

override val primaryKey = PrimaryKey(id)}

fun main() { Database.connect(...)

transaction { // Tabelle erstellen SchemaUtils.create(Users)

// INSERT (Erstellen) Users.insert { it[name] = "Ivan Petrov" it[email] = "ivan@example.com" }

// SELECT (Lesen) val users = Users.selectAll().map { "${it[Users.id]}: ${it[Users.name]} (${it[Users.email]})" } println("Benutzer: $users")

// UPDATE (Aktualisieren) Users.update({ Users.id eq 1 }) { it[name] = "Ivan Sidorov" }

// DELETE (Löschen) Users.deleteWhere { Users.id eq 1 } }}

Wie Sie sehen, ähnelt der Code stark normalem SQL, ist aber in reinem Kotlin geschrieben. Exposed maskiert automatisch Namen und schützt vor SQL-Injection.



3. Arbeiten mit MongoDB über den Kotlin-Treiber

3.1. Verbindung zu MongoDB herstellen

MongoDB ist eine NoSQL-Datenbank, die Daten in JSON-ähnlichen Dokumenten speichert. Für die Verbindung verwenden wir den synchronen Treiber:

import com.mongodb.kotlin.client.coroutine.MongoClientimport kot                

Blogs

Buchempfehlungen