SQLite 数据库指南

Finch 使用 sqlite3 包进行 SQLite 数据库操作。您可以使用 sqlite3 包在 Finch 应用程序中执行数据库操作。

连接到 SQLite 数据库

要连接到 SQLite 数据库,您需要将以下代码添加到 app.dart 文件中。

import 'package:finch/finch.dart';
import 'package:sqlite3/sqlite3.dart';

void main() async {
  final configs = FinchConfigs(
    sqliteConfig: FinchSqliteConfig(
      enable: true,
      filePath: './example_database.sqlite',
    ),
  );

  final server = FinchApp(configs: configs);

  server.start().then((value) {
    Console.p("Server started: http://localhost:${value.port}");
  });
}

在上面的示例中,我们启用了 SQLite 数据库并指定了数据库文件的文件路径。您可以将文件路径更改为所需的位置。

使用 SQLite 数据库

要使用 SQLite 数据库,可以使用 app.sqliteDb 属性。此属性返回 Database 对象,您可以使用它来执行数据库操作。

var db = app.sqliteDb;

数据库模型(基于 SQL 的表)

Finch 提供了一种简单的方法来为 SQLite 数据库创建数据库模型。您可以使用 MTable 类来定义数据库表的结构。MTable 类提供了一种简单的方法来定义表的字段。您可以使用 MField 类来定义表的字段。

import 'package:finch/finch.dart';

final table = MTable(
  name: 'users',
  fields: [
    MFieldInt(name: 'id', isPrimaryKey: true, isAutoIncrement: true),
    MFieldVarchar(name: 'name', length: 255),
    MFieldVarchar(name: 'email', length: 255),
  ],
);

在上面的示例中,我们定义了一个名为 users 的表,包含三个字段:idnameemailid 字段定义为整数,并设置为主键和自动递增。nameemail 字段定义为最大长度为 255 个字符的 varchar。

您可以使用 MTable 类为应用程序创建表。您还可以使用 MTable 类在表之间创建关系。例如,您可以在两个表之间定义外键关系。

Sqler

Finch 使用 sqler 包来构建 SQL 查询。您可以使用 sqler 包为 SQLite 数据库构建 SQL 查询。您可以使用 sqler 包轻松构建复杂查询。