ORM
- Dart kursu
- İleri seviye
- Ders 47/83
- 5 dk
drift ORM ile Dart veritabanı öğrenirsin.
drift ORM
drift, Dart için reaktif bir ORM'dir (object-relational mapper). sqflite üzerine inşa edilmiştir. Tabloları Dart sınıflarıyla tanımlarsın; drift tip güvenli sorgular ve kod üretimi sunar. Ham SQL yazmak yerine Dart API'si kullanırsın.
Bir tablo class Notes extends Table { TextColumn get title => text()(); } biçiminde tanımlanır. Table temel sınıftır; TextColumn metin sütunu, text()() sütun üreten yardımcıdır. Bu derste drift tablo tanımını öğreneceğiz.
Tablo tanımı
drift'te bir tablo, Table sınıfından türeyen bir Dart sınıfıdır. Her sütun bir getter'dır: TextColumn get title => text()(); bir metin sütunu, IntColumn get id => integer().autoIncrement()(); bir otomatik artan tamsayı sütunu.
Bu tanımdan drift, kod üretimiyle tip güvenli sorgu yöntemleri üretir. Sen db.select(notes).get() gibi çağrılarla sorgu yaparsın; SQL yazmazsın. Bu derste Notes tablosunu tanımlayacağız.
Uygulama Notes tablosunu tanımla
import 'package:drift/drift.dart'; ekle. class Notes extends Table { ... } tanımla: içinde TextColumn get title => text()(); olsun. main içinde print('drift: Notes tablosu') ve print('Sütun: title (text)') ekle.
Başlangıç kodu
// drift paketini içe aktar
// Notes tablosunu tanımla (Table sınıfı, title text sütunu)
void main() {
// drift tablo bilgisini yazdır
}Örnek çözüm
import 'package:drift/drift.dart';
class Notes extends Table {
TextColumn get title => text()();
}
void main() {
print('drift: Notes tablosu');
print('Sütun: title (text)');
}Beklenen çıktı
drift: Notes tablosu Sütun: title (text)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 drift importu
import 'package:____/drift/drift.dart';
import 'package:drift/drift/drift.dart';
Açıklama: drift paketi package:drift/drift.dart ile içe aktarılır.
2 drift parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
drift |
Reaktif ORM |
Table |
Tablo sınıfı |
TextColumn |
Metin sütunu |
text()() |
Sütun üretir |
3 drift neyi sağlar?
- Web sunucusu
- HTTP istemcisi
- Tip güvenli ORM Doğru cevap
- Dosya sıkıştırma
Açıklama: drift tip güvenli ORM sağlar.