快速开始

嗨,你可终于来啦!让我们开始使用 Flutter 生态中最酷的数据库吧...

废话不多说,让我们来看代码。

1. 添加依赖

在开始之前,我们需要在 pubspec.yaml 文件中添加若干依赖,可以运行以下命令帮助我们完成:

dart pub add isar:^4.0.3 isar_flutter_libs:^4.0.3 --hosted-url=https://pub.isar-community.dev

2. 给类添加注解

@collection 给你的 Collection 类添加注解,并指定一个 Id 字段。

import 'package:isar/isar.dart';

part 'user.g.dart';

@collection
class User {
  late int id;

  String? name;

  int? age;
}

Id 唯一指向了 Collection 中的对象,之后我们可通过 Id 来查询这些对象。

3. 运行代码生成器

对于纯 Dart 项目,通过以下命令来执行 build_runner

dart run build_runner build

4. 创建一个 Isar 实例

创建一个新的 Isar 实例,并将你想保存到 Isar 的所有 collection 的 schema(它在上一步由 Isar Generator 根据你定义的 collection 自动生成) 作为参数传入。你还可以指定实例的名称以及它所存储数据的文件路径。

final dir = await getApplicationDocumentsDirectory();
final isar = await Isar.openAsync(
  schemas: [UserSchema],
  directory: dir.path,
);

5. 读写操作

当实例被创建后,我们就可以使用它了。

可以通过 IsarCollection 来调用所有 CRUD 方法。

final newUser = User()
  ..id = isar!.users.autoIncrement()
  ..name = 'Jane Doe'
  ..age = 36;

await isar!.writeAsync((isar) {
  return isar.users.put(newUser); // 将新用户数据写入到 Isar
});

final existingUser = isar!.users.get(newUser.id); // 通过 Id 读取用户数据

if (existingUser != null) {
  await isar!.writeAsync((isar) {
    return isar.users.delete(existingUser.id); // 通过 Id 删除指定用户
  });
}

其他资源

你倾向于通过视频来学习?不妨查看下方一些资源吧: