我寫項目喜歡先造些輪子,因為我真的很懶。所以我決定封裝一個史上最簡單的數據持久化工具類。
這個工具基于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}");
});