Moor

Moor 是一个基于 SQLite 的 Flutter 和 Dart 的响应式持久化库。
Moor 是

  • 灵活:Moor 允许您同时使用 SQL 和 Dart 编写查询,
    为两种语言提供流畅的 API。您可以过滤和排序结果
    或使用 JOIN 来查询多个表。您甚至可以使用复杂的
    SQL 功能,如 WITHWINDOW 子句。
  • ? 功能丰富:Moor 内置支持事务、模式
    迁移、复杂过滤器和表达式、批量更新和 JOIN。我们
    甚至内置了 SQL IDE!
  • ? 模块化:得益于对 DAO 和 SQL 文件中的 import 的内置支持,moor 有助于保持数据库代码简洁。
  • ? 安全:Moor 根据您的表和查询生成类型安全的代码。如果您在查询中犯错,moor 会在编译时发现它,并
    提供有帮助且描述性的 lint。
  • ⚡ 快速:尽管 moor 允许您编写强大的查询,但它仍能
    保持与键值存储(如 Shared Preferences 和 Hive)相当的性能。Moor 是唯一一个内置线程支持的主要持久化库,允许您轻松地跨 isolate 运行数据库代码。
  • 响应式:将任何 SQL 查询转换为自动更新的流!这包括跨多个表的复杂查询。
  • ⚙️ 跨平台支持:Moor 支持 Android、iOS、macOS、Windows、Linux 和 Web。 此模板是一个适用于所有平台的 Flutter待办事项应用。
  • ? 经过实战检验且生产就绪:Moor 稳定且经过广泛的单元和集成测试。它已成功应用于生产环境的 Flutter 应用。

使用 moor,Flutter 持久化变得有趣!

要开始使用 moor,请阅读我们详细的 文档

如果您有任何问题、反馈或想法,请随时 创建一个
issue
。如果您喜欢这个
项目,我将非常感谢您在 GitHub 上点 ? 。


此仓库中的包

  • moor:moor 的主要运行时,提供大部分 API。
  • moor_ffi:用于 moor 的新且更快的执行器,使用 dart:ffi 构建。
  • moor_flutter:包装 sqflite 包的标准执行器。
  • moor_generator:moor 表、数据库和 DAO 的编译器。它
    还包含一个功能齐全的 SQL IDE。
  • sqlparser:一个用纯 Dart 编写的 SQL 解析器和静态分析器。此包可以在不使用 moor 的情况下用于对 SQL 语句进行分析。

GitHub

https://github.com/simolus3/moor