文章目录
前言
数据库存储是我们常用的存储方式之一,对大批量数据有增、删、改、查操作需求时,我们就会想到使用数据库,Flutter中提供了一个sqflite插件供我们用于大量数据执行CRUD操作。本篇我们就来一起学习sqflite的使用。
sqflite使用
引入插件
在pubspec.yaml文件中添加path_provider插件,最新版本为1.0.0,如下:
dependencies:
flutter:
sdk: flutter
#sqflite插件
sqflite: 1.0.0
然后命令行执行flutter packages get
即可将插件下载到本地。
数据库操作方法介绍
1. 插入操作
插入数据操作有两个方法:
Future<int> rawInsert(String sql, [List<dynamic> arguments]);
Future<int> insert(String table, Map<String, dynamic> values,
{String nullColumnHack, ConflictAlgorithm conflictAlgorithm});
rawInsert
方法第一个参数为一条插入sql语句,可以使用?
作为占位符,通过第二个参数填充数据。
insert
方法第一个参数为操作的表名,第二个参数map中是想要添加的字段名和对应字段值。
2. 查询操作
查询操作同样实现了两个方法:
Future<List<Map<String, dynamic>>> query(String table,
{bool distinct,
List<String> columns,
String where,
List<dynamic> whereArgs,
String groupBy,
String having,
String orderBy,
int limit,
int offset});
Future<List<Map<String, dynamic>>> rawQuery(String sql,
[List<dynamic> arguments]);
query
方法第一个参数为操作的表名,后边的可选参数依次表示是否去重、查询字段、WHERE子句(可使用?
作为占位符)、WHERE子句占位符参数值、GROUP B