Table
- Kotlin kursu
- İleri seviye
- Ders 32/83
- 5 dk
Table object ile şema tanımlamayı öğrenirsin.
Table object
Bir Table, Exposed'da bir Kotlin object ile tanımlanır. Her sütun bir val özellik olarak bildirilir.
Örnek: object Users : Table() { val id = integer("id"); val name = varchar("name", 50) }. Bu tablo veritabanında users adıyla bir tabloyu temsil eder. integer, varchar, bool gibi fonksiyonlar sütun türlerini belirler. Birincil anahtar için val id = integer("id").autoIncrement() ve override val primaryKey = PrimaryKey(id) kullanılır. Tablo adı varsayılan olarak object adının küçük harfıdır.
Sütun türleri
Exposed, sık kullanılan SQL türleri için fonksiyonlar sunar: integer, varchar, bool, long, text.
Örnek: val name = varchar("name", 50) 50 karakterlik bir metin sütunu tanımlar. val age = integer("age") tamsayı sütunudur. val active = bool("active") Boolean sütunudur. Nullable sütun için .nullable() eklenir. Varsayılan değer için .default(0). Bu bildirimler SQL DDL'i otomatik üretir; tabloyu veritabanında oluşturmak için ayrı bir yardımcı çağrı kullanılır.
Uygulama Users tablosu tanımla
object Users : Table() tanımla. İçinde val id = integer("id") ve val name = varchar("name", 50) olsun. main içinde println("Tablo hazır") yazdır.
Başlangıç kodu
// Table
// buraya yaz
import org.jetbrains.exposed.sql.*
fun main() {
}Örnek çözüm
object Users : Table() {
val id = integer("id")
val name = varchar("name", 50)
}
fun main() {
println("Tablo hazır")
}Beklenen çıktı
Tablo hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Table tanımını tamamla
object Users : ____() {
val id = integer("id")
val name = varchar("name", 50)
}
object Users : Table() {
val id = integer("id")
val name = varchar("name", 50)
}
Açıklama: Table ile tablo tabanı tanımlanır.
2 Sütun türlerini eşle
| Kavram | Anlamı |
|---|---|
integer |
Tamsayı |
varchar |
Metin |
bool |
Mantıksal |
long |
Uzun tamsayı |
3 Exposed'da tablo hangi yapı ile tanımlanır?
- interface
- data class
- sealed class
- object : Table() Doğru cevap
Açıklama: Tablolar object : Table() ile tanımlanır.