Travailler avec les bases de données en Kotlin : PostgreSQL et MongoDB pour débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction au travail avec les bases de données en Kotlin

Kotlin est un langage de programmation moderne, activement utilisé pour créer des applications serveur, le développement Android et les services backend. L'une des compétences clés pour tout développeur est la capacité à travailler avec des bases de données. Dans cet article, nous allons voir comment se connecter à la base de données relationnelle PostgreSQL et à la base de données orientée documents MongoDB en utilisant Kotlin. Le contenu est destiné aux débutants : nous aborderons l'installation des pilotes, la configuration de la connexion et l'exécution des opérations CRUD de base (création, lecture, mise à jour, suppression).



1. Préparation de l'environnement et dépendances

Pour travailler, vous aurez besoin d'un projet Kotlin (par exemple, en utilisant Gradle ou Maven). Nous utiliserons Gradle, l'outil de construction le plus populaire dans l'écosystème Kotlin. Ajoutez les dépendances suivantes dans le fichier build.gradle.kts :

dependencies {    // Pour 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")

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

Exposed est une bibliothèque ORM légère pour Kotlin qui simplifie le travail avec les bases SQL. Pour MongoDB, nous utilisons le pilote Kotlin officiel de MongoDB.



2. Travailler avec PostgreSQL via Exposed

2.1. Connexion à la base de données

Créons d'abord un objet pour la connexion à PostgreSQL. Assurez-vous que le serveur PostgreSQL est en cours d'exécution sur votre ordinateur et qu'une base de données (par exemple, testdb) a été créée.

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

fun main() { // Connexion à la base de données locale Database.connect( url = "jdbc:postgresql://localhost:5432/testdb", driver = "org.postgresql.Driver", user = "postgres", password = "your_password" )

println("Connexion à PostgreSQL établie avec succès")}

Après la connexion, vous pouvez exécuter des requêtes SQL. Exposed utilise un DSL (Domain-Specific Language) pour écrire des requêtes en Kotlin.



2.2. Création de table et opérations CRUD

Définissons une table simple Users avec les champs id, name et 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 { // Création de la table SchemaUtils.create(Users)

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

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

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

// DELETE (suppression) Users.deleteWhere { Users.id eq 1 } }}

Comme vous pouvez le voir, le code ressemble beaucoup au SQL classique, mais est écrit en Kotlin pur. Exposed échappe automatiquement les noms et protège contre les injections SQL.



3. Travailler avec MongoDB via Kotlin Driver

3.1. Connexion à MongoDB

MongoDB est une base de données NoSQL qui stocke les données sous forme de documents de type JSON. Pour la connexion, nous utilisons le pilote synchrone :

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

Blogs

Book Recommendations