CodeBlanks Logo Icon CodeBlanks

Exposed

JetBrains Exposed ORM'i öğrenirsin.

Exposed nedir?

Exposed, JetBrains'in Kotlin için SQL ORM kütüphanesidir. Tabloları Kotlin object olarak tanımlar; SQL sorgularını tip güvenli şekilde yazmanı sağlar.

Bir Database.connect(url, driver) çağrısı ile bağlantı açarsın. Tüm işlemler bir transaction { ... } bloğu içinde yapılır. Tablolar object Users : Table() { ... } bildirimiyle tanımlanır. Exposed, raw SQL yerine Kotlin API'si sunar; bu da derleme zamanı denetimi ve kod tamamlama sağlar. Bu derste temel bağlantıyı kuracaksın.

Database bağlantısı

Exposed ile bir veritabanına bağlanmak için Database.connect(url, driver) çağrısı yaparsın. URL ve driver parametreleri veritabanına özeldir.

Örnek: Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver"). H2 in-memory veritabanı için yaygın bir seçimdir. PostgreSQL veya MySQL için ilgili driver ve URL kullanılır. Bağlantı, tüm transaction blokları tarafından paylaşılır. Gerçek uygulamalarda bağlantı havuzu (HikariCP gibi) kullanılır; bu, performansı artırır.

Uygulama Database bağlantısı ve transaction

Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver") ile bağlantı aç. Bir transaction { ... } bloğu içinde println("Exposed hazır") yazdır.

Başlangıç kodu

Main.kt
// Exposed
// buraya yaz
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.transaction

fun main() {
    
}

Örnek çözüm

Main.kt
fun main() {
    Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")
    transaction {
        println("Exposed hazır")
    }
}

Beklenen çıktı

Exposed hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Exposed hangi amaçla kullanılır?

  • HTTP isteği atmak için
  • JSON serileştirmek için
  • SQL veritabanı işlemleri için Doğru cevap
  • UI çizmek için

Açıklama: Exposed SQL veritabanı işlemleri için Kotlin ORM'dir.

2 connect çağrısını tamamla

Soru
Database.____("jdbc:h2:mem:test", driver = "org.h2.Driver")
Cevap
Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")

Açıklama: Database.connect ile bağlantı açılır.

3 Exposed parçalarını eşle

Kavram Anlamı
Database.connect Bağlantı
transaction İşlem bloğu
Table Tablo tabanı
object Singleton tanım

İleri seviye bölümündeki tüm dersler