Flutter & SQLite: CRUD Example -MVC Pattern using SQLite package

Raviya Technical
Flutter Framework
Published in
6 min readAug 11, 2024

--

Flutter & SQLite: CRUD Example -MVC Pattern using SQLite package

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…

--

--