Flutter 数据库概念

2024 年 8 月 29 日 | 5 分钟阅读

数据库是有组织的数据集合,它支持数据的存储和操作,并可以通过计算机系统以电子方式访问。 我们可以将数据组织成行、列、表和索引。 它可以轻松地管理数据。 我们可以将许多东西存储在数据库中,例如姓名、年龄、图片、图像、文件、PDF 等。

Flutter 提供了许多用于处理数据库的包。 最常用和最受欢迎的包是

  • sqflite 数据库: 它允许访问和操作 SQLite 数据库。
  • Firebase 数据库: 它使您能够访问和操作云数据库。

SQLite 数据库

SQLite 是一种流行的数据库软件库,它为本地/客户端存储提供关系数据库管理系统。 它是轻量级且经过时间考验的数据库引擎,包含自包含、无服务器、零配置、事务性 SQL 数据库引擎等特性。

Flutter SDK 不直接支持 SQLite。 相反,它提供了一个插件 sqflite,它以类似于 SQLite 库的方式对数据库执行所有操作。 sqflite 提供了与数据库相关的大部分核心功能,如下所示

  • 它创建或打开 SQLite 数据库。
  • 它可以轻松地执行 SQL 语句。
  • 它还提供了一种高级查询方法来从 SQLite 数据库获取信息。

让我们逐步了解如何在 Flutter 中存储和获取数据。

步骤 1: 首先,在 Android Studio 中创建一个新项目,并将依赖项添加到 pubspec.yaml 文件中。

  • sqflite 包提供了与 SQLite 数据库交互的类和函数。
  • path_provider 包提供了用于定义数据库在本地系统上的位置的函数,例如 TemporaryDirectoryApplicationDocumentsDirectory

步骤 2: 创建一个模型类。 在此步骤中,我们需要在创建表来存储信息之前定义需要存储的数据。 以下代码可以轻松解释它。

步骤 3: 打开数据库。 在这里,我们需要打开与数据库的连接。 它需要两个步骤

  1. 使用 getDtabasePath() 方法设置数据库的路径,并将其与 path 包结合使用。
  2. 使用 openDatabase() 函数打开数据库。

步骤 4: 创建表。 在此步骤中,我们必须创建一个存储有关书籍信息的表。 在这里,我们将创建一个名为 books 的表,其中包含书籍的 id、titleprice。 它们在图书表中表示为三列。

步骤 5: 将图书插入数据库。 在这里,您必须在表中存储有关各种书籍的信息。 将图书插入表涉及两个步骤

  • 将图书转换为 Map
  • 使用 insert() 方法

以下代码更清楚地解释了它。

步骤 6: 检索图书列表。 现在,我们已将图书存储到数据库中,您可以使用查询来检索特定图书或所有图书的列表。 它涉及两个步骤

  • 运行一个返回 List<Map> 的查询。
  • 将 List<Map> 转换为 List<Book>。

您可以查看以下代码以轻松理解它。

步骤 7: 更新数据库中的图书。 您可以使用 update() 方法来更新您想要的书籍。 它涉及两个步骤

  • 将图书转换为 Map。
  • 然后,使用 where 子句更新图书。

您可以查看以下代码以理解它。

步骤 8: 从数据库中删除图书。 您可以使用 delete() 方法删除数据库。 为此,您需要创建一个接受 id 并删除匹配 id 的数据库的函数。

让我们看看完整的代码,以了解如何使用 sqflite 插件创建数据库文件。 为此,创建一个新的 Flutter 项目,并将 sqflite 和 path 包添加到 pubspec.yaml 文件中。 接下来,在 lib 文件夹中创建一个新文件,并将以下代码插入到该文件中。 现在,将数据库与您的 UI 连接起来并运行代码。


下一个主题Flutter 测试