DBFlow源码分析:SQL拆解(BaseQueriable,B
2016-12-07 本文已影响35人
linheimx
以面向对象的方式看待sql
sql语句由好多部分组成。
把每一部分抽象出类。
结构
Queriable 存在的意义?
The most basic interface that some of the classes such as Insert, ModelQueriable, Set, and more implement for convenience.
为其他的类提供便捷的操作。
有哪些便携操作?
BaseQueriable 做了基本的实现
-
count
-
hasData
通过count来具体的实现:
-
query
执行查询语句:
-
execute
通过query来具体的实现:
-
compileStatement
获得编译后的语句:
BaseModelQueriable
** 实现了对 model的相关查询**
-
查询一个
-
查询一堆
** 实现了对 自定义model 的相关查询**
-
查询一个
-
查询一堆
转变为其它的便捷使用对象
- FlowCursorList:
对cursor的包装,便于在listview,或类似的控件中使用。
- FlowQueryList:
内部使用了FlowCursorList,但是它继承于FlowContentObserver,拥有观察数据改变的能力
-
AsyncQuery
实现异步查询
-
CursorResult
持有cursor对象,提供便捷的方法访问cursor。