简介
优质
小牛编辑
130浏览
2023-12-01
DBFlow是一个功能强大,简单易用的ORM安卓数据库库,他使用了注释处理.
这个库速度快,性能高,而且非常易用。它不但消除了大部分繁琐的公式化的数据库操作代码,而且还提交了一套功能强大,简单易用的API。
DBFlow使sql代码就跟流式调用一样简洁,因此您可以集中精力去编写优秀的应用。
为什幺要使用DBFlow
DBFlow目的是把其他ORM的数据库最好的优点集合在一起,而且将它们进一步优化。DBFlow不只是让你知道如何解决你的功能上的问题,而且它使你容易处理Android上的数据库。让我们好好利用DBFlow,使我们尽可能的把程序写的最好。
- 可扩展性: 是一个接口,无需子类,但为了方便起见,我们建议使用
BaseModel
。你可以不继承任何Model
类在不同的包中的类,并把它们作为你的数据库表。你也可以继承其他Model
然后同时加入,他们又可以在不同的packages中。此外,在该库的子类对象,能满足您的需求。(翻译不好)
- 速度:这个库内置Java的注释处理代码生成,有几乎为零的运行时性能(反射是主要的,生成的数据库模块的构造方法)。该库通过生成的代码,你可以节省样板代码和维护时间。凭借强大的模式高速缓存(多主键
Model
也行),你可以通过重复使用,在这里可能超过SQLite的速度。我们支持延迟加载,如支持@ForeignKey或@OneToMany,使查询发生的速度超快。 - SQLite流式查询:此库中的查询尽可能坚持SQLite的原生查询,
select(name, screenSize).from(Android.class).where(name.is("Nexus 5x")).and(version.is(6.0)).querySingle()
- 开源:该库是完全开源,不仅欢迎贡献,而且鼓励。
- 多个数据库,多个模块:我们无缝支持多个数据库文件,数据库模块,在同一时间。
- 基于SQLite:SQLite是世界上最广泛使用的数据库引擎。
导入到你的项目中
如果你使用KAPT (Kotlin’s APT),跳过这第一步。
我们需要包括 apt plugin在我们的classpath中,使它来支持注释处理:
该库添加到项目级的build.gradle,使apt插件支持注释处理:
def dbflow_version = "3.0.0-beta4"
// or dbflow_version = "develop-SNAPSHOT" for grabbing latest dependency in your project on the develop branch
// or 10-digit short-hash of a specific commit. (Useful for bugs fixed in develop, but not in a release yet)
apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}"
compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}"
// sql-cipher database encyrption (optional)
compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}"
// kotlin extensions
}