CRUD
- Kotlin kursu
- İleri seviye
- Ders 34/83
- 5 dk
insert, select, update, delete ile CRUD öğrenirsin.
CRUD işlemleri
CRUD, Create, Read, Update, Delete dört temel veritabanı işlemini ifade eder. Exposed'da her biri için ayrı fonksiyon vardır.
Create: Users.insert { it[name] = "Ayşe" }. Read: Users.select { Users.id eq 1 }. Update: Users.update { Users.name eq "Ayşe" where Users.id eq 1 }. Delete: Users.deleteWhere { Users.id eq 1 }. Tüm çağrılar transaction içinde yapılır. Exposed, SQL'i arka planda üretir; sen sadece Kotlin API'siyle çalışırsın.
Uygulama Users.insert çağır
object Users : Table() tanımla; içinde val id = integer("id") ve val name = varchar("name", 50) olsun. main içinde Database.connect ile bağlantı aç, transaction bloğunda Users.insert { it[name] = "Ayşe" } çağır, ardından println("Kayıt eklendi") yazdır.
Başlangıç kodu
// CRUD
// buraya yaz
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.transaction
fun main() {
}Örnek çözüm
object Users : Table() {
val id = integer("id")
val name = varchar("name", 50)
}
fun main() {
Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")
transaction {
Users.insert {
it[name] = "Ayşe"
}
println("Kayıt eklendi")
}
}Beklenen çıktı
Kayıt eklendi
select, update, deleteWhere
select kayıtları okur: Users.select { Users.id eq 1 }. update kayıtları günceller: Users.update({ Users.id eq 1 }) { it[name] = "Ayşe" }.
deleteWhere kayıtları siler: Users.deleteWhere { Users.id eq 1 }. Tüm sorgularda koşul ifadesi eq, lessEq, greater gibi operatörlerle yazılır. select bir Query döndürür; .forEach { row -> ... } ile satırları gezebilirsin. .first() ile ilk kayıt alınır. .toList() ile liste olur.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yeni kayıt eklemek için hangi fonksiyon kullanılır?
- select
- insert Doğru cevap
- deleteWhere
- update
Açıklama: insert ile yeni kayıt eklenir.
2 deleteWhere çağrısını tamamla
Users.____ { Users.id eq 1 }
Users.deleteWhere { Users.id eq 1 }
Açıklama: deleteWhere ile kayıt silinir.
3 CRUD işlemlerini eşle
| Kavram | Anlamı |
|---|---|
insert |
Ekleme |
select |
Okuma |
update |
Güncelleme |
deleteWhere |
Silme |