Flutte sqflite->SQLdb 增删改查 数据持久化
2019-10-15 本文已影响0人
粤码粤帅
我写项目喜欢先造些轮子,因为我真的很懒。所以我决定封装一个史上最简单的数据持久化工具类。
这个工具基于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}");
});