Trabalhando com bancos de dados em Kotlin: PostgreSQL e MongoDB para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao trabalho com bancos de dados em Kotlin

Kotlin é uma linguagem de programação moderna, ativamente usada para criar aplicações server-side, desenvolvimento Android e serviços backend. Uma das habilidades-chave para qualquer desenvolvedor é saber trabalhar com bancos de dados. Neste artigo, vamos analisar como conectar-se ao banco de dados relacional PostgreSQL e ao MongoDB orientado a documentos, usando Kotlin. O material é voltado para iniciantes: abordaremos a instalação de drivers, configuração de conexão e execução de operações CRUD básicas (criação, leitura, atualização, exclusão).



1. Preparação do ambiente e dependências

Para trabalhar, você precisará de um projeto em Kotlin (por exemplo, usando Gradle ou Maven). Usaremos Gradle — a ferramenta de build mais popular no ecossistema Kotlin. Adicione as seguintes dependências no arquivo 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 é uma biblioteca ORM leve para Kotlin que simplifica o trabalho com bancos SQL. Para MongoDB, usamos o driver oficial Kotlin da MongoDB.



2. Trabalhando com PostgreSQL via Exposed

2.1. Conexão ao banco de dados

Primeiro, criaremos um objeto para conectar ao PostgreSQL. Certifique-se de que o servidor PostgreSQL está em execução no seu computador e que um banco de dados foi criado (por exemplo, testdb).

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

fun main() { // Conexão ao banco local Database.connect( url = "jdbc:postgresql://localhost:5432/testdb", driver = "org.postgresql.Driver", user = "postgres", password = "your_password" )

println("Conexão com PostgreSQL estabelecida com sucesso")}

Após a conexão, é possível executar consultas SQL. Exposed usa DSL (Domain-Specific Language) para escrever consultas em Kotlin.



2.2. Criação de tabela e operações CRUD

Vamos definir uma tabela simples Users com os campos id, name e 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 { // Criação da tabela SchemaUtils.create(Users)

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

// SELECT (leitura) val users = Users.selectAll().map { "${it[Users.id]}: ${it[Users.name]} (${it[Users.email]})" } println("Usuários: $users")

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

// DELETE (exclusão) Users.deleteWhere { Users.id eq 1 } }}

Como você pode ver, o código é muito semelhante ao SQL comum, mas escrito em Kotlin puro. Exposed escapa automaticamente os nomes e protege contra injeções SQL.



3. Trabalhando com MongoDB via Kotlin Driver

3.1. Conexão ao MongoDB

MongoDB é um banco de dados NoSQL que armazena dados em documentos semelhantes a JSON. Para conectar, usamos o driver síncrono:

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

Blogs

Book Recommendations