CodeBlanks Logo Icon CodeBlanks

CRUD

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

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

fun main() {
    
}

Örnek çözüm

Main.kt
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

Soru
Users.____ { Users.id eq 1 }
Cevap
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

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