Flutte sqflite->SQLdb 增刪改查 數據持久化

我寫項目喜歡先造些輪子,因為我真的很懶。所以我決定封裝一個史上最簡單的數據持久化工具類。

這個工具基于Flutter項目使用,Dart其他應該也是支持的。
支持Andorid、iOS、web。

我們討厭Dart的異步,因此我利用Flutter的回調函數處理,盡到一行代碼執行一個流程。

去片....!

如圖

使用之前:
請先加載:sqflite: ^1.1.7+1 因為SQLdb是基于sqflite來封裝的。
https://pub.dev/packages/sqflite
sqflite已經使用已經很簡單,但我希望更簡單一些。

import 'SQLdb/SQLdb.dart';

數據庫表名
final String table;

【more】true 此模式的數據表會自動創建一個自增字段"_id"作為數據插入索引。此模式創建的表,當調用【insert】時,舊數據不會被替換

【more】false 默認模式。被創建的表會按表傳入的json原樣進入字段以及類型復制,每一次調用【insert】時,新數據會替換舊數據。

final bool more;


var data = {
  "id": 14,
  "level": "A,B,C,E",
  "mobile": "13800138000",
  "uid": "admin",
  "name": "kkk",
  "step": 2
};

初始化

//TODO:初始化自動創建db文件。
SQLdb.init("member_check_login", json: data);

//TODO: 增加數據
SQLdb.init("member_check_login", json: data).insert(data);

//TODO: 更新數據
SQLdb.init("member_check_login").update(json, where: "id = 3",onChanged: (count){
  print("更新數據庫:${count}");
});

//TODO: 查詢數據
SQLdb.init("member_check_login").getList((list){
  print("查詢數據:${list}");
});

//TODO:刪除數據
SQLdb.init("member_check_login").deleteList(onChanged: (count){
  print("刪除數據:${count}");
});

源碼
https://github.com/MuZiLee/SQLdb

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。