Trabajo con bases de datos en Kotlin: PostgreSQL y MongoDB para principiantes

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción al trabajo con bases de datos en Kotlin

Kotlin es un lenguaje de programación moderno que se utiliza activamente para crear aplicaciones de servidor, desarrollo Android y servicios backend. Una de las habilidades clave para cualquier desarrollador es saber trabajar con bases de datos. En este artículo, analizaremos cómo conectarse a la base de datos relacional PostgreSQL y a la base de datos documental MongoDB, utilizando Kotlin. El material está orientado a principiantes: veremos la instalación de drivers, la configuración de la conexión y la realización de operaciones CRUD básicas (crear, leer, actualizar, eliminar).



1. Preparación del entorno y dependencias

Para trabajar, necesitarás un proyecto en Kotlin (por ejemplo, usando Gradle o Maven). Usaremos Gradle, la herramienta de compilación más popular en el ecosistema Kotlin. Agrega las siguientes dependencias al archivo build.gradle.kts:

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

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

Exposed es una biblioteca ORM ligera para Kotlin que simplifica el trabajo con bases de datos SQL. Para MongoDB, usamos el driver oficial de Kotlin de MongoDB.



2. Trabajo con PostgreSQL a través de Exposed

2.1. Conexión a la base de datos

Primero, crearemos un objeto para la conexión a PostgreSQL. Asegúrate de que el servidor PostgreSQL esté ejecutándose en tu computadora y que se haya creado una base de datos (por ejemplo, testdb).

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

fun main() { // Conexión a la BD local Database.connect( url = "jdbc:postgresql://localhost:5432/testdb", driver = "org.postgresql.Driver", user = "postgres", password = "your_password" )

println("Conexión a PostgreSQL establecida exitosamente")}

Después de la conexión, se pueden ejecutar consultas SQL. Exposed utiliza DSL (Domain-Specific Language) para escribir consultas en Kotlin.



2.2. Creación de tabla y operaciones CRUD

Definamos una tabla simple Users con los campos id, name y 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 { // Creación de la tabla SchemaUtils.create(Users)

// INSERT (crear) Users.insert { it[name] = "Iván Petrov" it[email] = "ivan@example.com" }

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

// UPDATE (actualizar) Users.update({ Users.id eq 1 }) { it[name] = "Iván Sidorov" }

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

Como puedes ver, el código es muy similar al SQL normal, pero está escrito en Kotlin puro. Exposed escapa automáticamente los nombres y protege contra inyecciones SQL.



3. Trabajo con MongoDB a través de Kotlin Driver

3.1. Conexión a MongoDB

MongoDB es una base de datos NoSQL que almacena datos en documentos similares a JSON. Para la conexión, usamos el driver síncrono:

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

Blogs

Book Recommendations