Flutter数据库的使用

说明

Flutter原生是没有支持数据库操作的,它使用SQLlit插件来使应用具有使用数据库的能力。其实就是Flutter通过插件来与原生系统沟通,来进行数据库操作。

平台支持

  • FLutter的SQLite插件支持IOS,安卓,和MacOS平台
  • 如果要对Linux / Windows / DartVM进行支持请使用sqflite_common_ffi
  • 不支持web平台
  • 数据库操作在安卓或ios的后台执行

使用案例

  • notepad_sqflite 可以在iOS / Android / Windows / linux / Mac上运行的简单的记事本应用

简单使用

添加依赖

为了使用 SQLite 数据库,首先需要导入 sqflite 和 path 这两个 package

  • sqflite 提供了丰富的类和方法,以便你能便捷实用 SQLite 数据库。
  • path 提供了大量方法,以便你能正确的定义数据库在磁盘上的存储位置。
dependencies:
  sqflite: ^1.3.0
  path:版本号
复制代码

使用

导入 sqflite.dart

import 'dart:async';

import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
复制代码

打开数据库

SQLite数据库就是文件系统中的文件。如果是相对路径,则该路径是getDatabasesPath()所获得的路径,该路径关联的是Android上的默认数据库目录和iOS上的documents目录。

var db = await openDatabase('my_db.db');
复制代码

许多时候我们使用数据库时不需要手动关闭它,因为数据库会在程序关闭时被关闭。如果你想自动释放资源,可以使用如下方式:

await db.close();
复制代码

执行原始的SQL查询

  1. 使用getDatabasesPath()获取数据库位置

使用 sqflite package 里的 getDatabasesPath 方法并配合 path package里的 join 方法定义数据库的路径。使用path包中的join方法是确保各个平台路径正确性的最佳实践。

var databasesPath = await getDatabasesPath();
String path = join(databasesPath, 'demo.db');
复制代码
  1. 打开数据库
Database database = await openDatabase(path, version: 1,
    onCreate: (Database db, int version) async {
  // 创建数据库时创建表
  await db.execute(
      'CREATE TABLE Test (id INTEGER PRIMARY KEY, name TEXT, value INTEGER, num REAL)');
});
复制代码
  1. 增</
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值