本文整理自网络,侵删。
今日观看别人源码的时候偶然间发现了一个很好用的数据库神器,在这里分享一下。
什么是dbflow?
dbflow是Android SQLite ORM的一个使用注解操控的工具库。简单说就是对sqlite数据库进行操作的一个java库。
ORM(Object-relational mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
为什么使用dbflow?
1、 速度
基于AnnotationProcessing(注解处理器),在编译时生成代码,运行时性能优良,通过复用对象以及缓存机制,得到不错的速度体验。
2、 扩展性
数据表单映射到数据对象,通过该对象继承Model类,一般的话继承BaseModel类就可以,对类内成员添加注解生成所需要的表单。
3、 查询语句
如果你使用过greenDao等其他的库的话,查询语句都非常接近SQL语句。
4、 基于sqlite
不限制平台,有sqlite的地方就可以使用dbflow。
5、 开源
源码是个好东西,有能力的人可以看看。https://github.com/Raizlabs/DBFlow
怎么使用dbflow
配置环境
不管是想学习什么东西,环境就是个主要东西,那对于一个三方库来说第一步就是导入类库。
首先在主要的build.gradle中添加maven地址:
allprojects { repositories { maven { url "https://jitpack.io" } } }
其次在基类module中添加依赖:
def dbflow_version = "4.2.4" dependencies { annotationProcessor "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}" compile "com.github.Raizlabs.DBFlow:dbflow-rx2:${dbflow_version}" compile "com.github.Raizlabs.DBFlow:dbflow-sqlcipher:${dbflow_version}" }
如果需要添加kotlin的代码的话查看上文的源码地址下方有说明。
使用
在Application中添加init
FlowManager.*init*(this);
创建数据库
@Database(name = DbFlowData.*DBNAME*,version = DbFlowData.*VERSION*) public class DbFlowData { public static final String *DBNAME*="DbFlowData"; public static final int *VERSION*=1; }
使用注解Database,name数据库名称 version数据库版本
相关阅读 >>
android 使用vitamio打造自己的万能播放器(4)——本地播放(快捷搜索、数据存储)
更多相关阅读请进入《Sqlite》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。