MySQL 数据库指南

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

连接到 MySQL 数据库

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

import 'package:finch/finch.dart';

void main() async {
  final configs = FinchConfigs(
    mysqlConfig: FinchMysqlConfig(
      enable: true,
      host: 'localhost',
      port: 3306,
      user: 'database_username',
      pass: 'database_password',
      databaseName: 'database_name',
    ),
  );

  final server = FinchApp(configs: configs);

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

在上面的示例中,我们启用了 MySQL 数据库并指定了主机、端口、用户名、密码和数据库名称。您可以更改这些值以匹配您的数据库配置。

使用 MySQL 数据库

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

var db = app.mysqlDb;

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

Finch 提供了一种简单的方法来为 MySQL 数据库创建数据库模型。您可以使用 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 包为 MySQL 数据库构建 SQL 查询。您可以使用 sqler 包轻松构建复杂查询。

示例

有关更多信息,您可以查看 Finch 存储库中的 example 项目。该示例项目使用 MySQL 数据库和 Finch 的数据库功能。