DBFlow的github地址
DbFlow的基本使用我就不介紹了,我只記錄開發中遇到的一些複雜一點的用法
DBFlow 查詢
複雜組合的條件查詢:
OperatorGroup op = OperatorGroup.clause
(
RegisterUserModel_Table.mobile.eq(mobile)//這是一個條件
)
.and(
//這是一個條件
OperatorGroup.clause()
.or(RegisterUserModel_Table.identity.eq(RegisterUserModel.USER_IDENTIFY_BODY))
.or(RegisterUserModel_Table.identity.eq(RegisterUserModel.USER_IDENTIFY_GIRL))
);
List<RegisterUserModel> list = SQLite.select().from(RegisterUserModel.class)
.where(op) //執行的時候的查詢的條件
.queryList();
like條件的查詢:
public static List<String> getAppPackageLikeName(String name) {
OperatorGroup op = OperatorGroup.clause()
//字段值以name名開頭的條件
.or(AppItem_Table.appName.like(TextUtils.concat(name, "%").toString()))
//字段值以name名結尾的條件
.or(AppItem_Table.appName.like(TextUtils.concat("%", name).toString()))
//字段值以name名處在中間的條件
.or(AppItem_Table.appName.like(TextUtils.concat("%", name, "%").toString()));
List<AppItem> list = SQLite.select().from(AppItem.class)
.where(op).queryList();
return strList;
}