Exposed
- Kotlin kursu
- İleri seviye
- Ders 31/83
- 5 dk
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
// Exposed
// buraya yaz
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.transaction
fun main() {
}Örnek çözüm
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
Database.____("jdbc:h2:mem:test", driver = "org.h2.Driver")
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 |