Flutter & SQLite: CRUD Example -MVC Pattern using SQLite package
Published in
6 min readAug 11, 2024
Create a Project
flutter create -e --org com.example sqlite
Packages
SQLite:- https://pub.dev/packages/sqflite
flutter pub add sqlite
config/database.dart
class Database {
static String database = "database.db";
// Tables
static String items = "items";
}
core/classes/sqlite.dart
import 'package:sqflite/sqflite.dart' as sql;
import '../../config/database.dart';
import '../../models/item_model.dart';class Sqlite {
// ,createdAt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP // created_at: the time that the item was created. It will be automatically handled by SQLite
static Future<sql.Database> db() async {
return sql.openDatabase(
Database.database,
version: 1,
onCreate: (sql.Database database, int version) async {
await database.execute(ItemModel().createTableQuery);
},
);
}
}
models/base_sql_model.dart
import 'package:flutter/material.dart';
import 'package:sqflite/sqflite.dart' as sql;
import '../core/classes/sqlite.dart';
abstract class BaseSQLModel {
String get table…