我寫項目喜歡先造些輪子瑞驱,因為我真的很懶。所以我決定封裝一個史上最簡單的數(shù)據(jù)持久化工具類辉懒。
這個工具基于Flutter項目使用阳惹,Dart其他應(yīng)該也是支持的。
支持Andorid眶俩、iOS莹汤、web。
我們討厭Dart的異步颠印,因此我利用Flutter的回調(diào)函數(shù)處理纲岭,盡到一行代碼執(zhí)行一個流程。
去片....!
使用之前:
請先加載:sqflite: ^1.1.7+1 因為SQLdb是基于sqflite來封裝的线罕。
https://pub.dev/packages/sqflite
sqflite已經(jīng)使用已經(jīng)很簡單止潮,但我希望更簡單一些。
import 'SQLdb/SQLdb.dart';
數(shù)據(jù)庫表名
final String table;
【more】true 此模式的數(shù)據(jù)表會自動創(chuàng)建一個自增字段"_id"作為數(shù)據(jù)插入索引钞楼。此模式創(chuàng)建的表喇闸,當(dāng)調(diào)用【insert】時,舊數(shù)據(jù)不會被替換
【more】false 默認(rèn)模式。被創(chuàng)建的表會按表傳入的json原樣進(jìn)入字段以及類型復(fù)制燃乍,每一次調(diào)用【insert】時唆樊,新數(shù)據(jù)會替換舊數(shù)據(jù)。
final bool more;
var data = {
"id": 14,
"level": "A,B,C,E",
"mobile": "13800138000",
"uid": "admin",
"name": "kkk",
"step": 2
};
初始化
//TODO:初始化自動創(chuàng)建db文件刻蟹。
SQLdb.init("member_check_login", json: data);
增
//TODO: 增加數(shù)據(jù)
SQLdb.init("member_check_login", json: data).insert(data);
改
//TODO: 更新數(shù)據(jù)
SQLdb.init("member_check_login").update(json, where: "id = 3",onChanged: (count){
print("更新數(shù)據(jù)庫:${count}");
});
查
//TODO: 查詢數(shù)據(jù)
SQLdb.init("member_check_login").getList((list){
print("查詢數(shù)據(jù):${list}");
});
刪
//TODO:刪除數(shù)據(jù)
SQLdb.init("member_check_login").deleteList(onChanged: (count){
print("刪除數(shù)據(jù):${count}");
});