Sobes.tech
Middle

Ako prebieha práca s databázami v Kotlin?

sobes.tech AI

Odpoveď od AI

V Kotlinu sa databázami sa najčastejšie pracuje prostredníctvom špecializovaných knižníc ORM (Object-Relational Mapping) alebo pomocou štandardných JDBC ovládačov.

Populárne prístupy:

  • Knižnice ORM: Poskytujú abstrakciu nad nízkoúrovňovými API databáz, umožňujúc pracovať s dátami ako s Kotlin objektmi. Uľahčujú písanie dotazov, mapovanie dát a správu transakcií.
    • Exposed: Napísané v Kotlin, ponúka DSL na tvorbu SQL dotazov a podporu asynchrónnych operácií.
    • SQLDelight: Framework od Square, ktorý generuje typovo bezpečný Kotlin kód zo SQL skriptov. Často sa používa v Android vývoji.
    • Hibernate: Populárny Java ORM, ktorý je možné použiť aj v Kotlin projektoch.
  • JDBC (Java Database Connectivity): Nízkoúrové API na interakciu s databázami. Vyžaduje viac manuálneho kódu na vykonávanie dotazov a mapovanie výsledkov, ale zabezpečuje úplnú kontrolu nad procesom.
    // Príklad použitia JDBC
    import java.sql.DriverManager
    
    fun main() {
        val url = "jdbc:mysql://localhost:3306/mydb"
        val user = "myuser"
        val password = "mypassword"
    
        try {
            DriverManager.getConnection(url, user, password).use { conn ->
                val stmt = conn.createStatement()
                val rs = stmt.executeQuery("SELECT * FROM users")
    
                while (rs.next()) {
                    val id = rs.getInt("id")
                    val name = rs.getString("name")
                    println("ID: $id, Name: $name")
                }
            }
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }
    

Voľba prístupu závisí od potrieb projektu: pre zložité aplikácie s veľkým objemom práce s dátami sú často preferované ORM; pre jednoduché úlohy alebo keď je požadovaná maximálna kontrola — JDBC. V špeciálnych prípadoch môžu byť použité frameworky ako Ktor s podporou databáz alebo knižnice na prácu s NoSQL databázami.