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}");
});

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

上一篇下一篇

猜你喜欢

热点阅读