今天给项目加数据库第三方库的时候,发现greendao 太麻烦了,搜了一下发现有个 DBFlow 的数据库第三方库 blablablablablba
找教程的时候 发现国内居然没有资料教程,用google找了也发现都有点旧 api 都改了。
自己踩了点小坑,写个博客把入门流程写出来。
1.配置 DBFlow
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
maven { url "https://jitpack.io" }
2.
apply plugin: 'com.neenbedankt.android-apt' def dbflow_version = "3.0.1"//<--- 数据库 DBFlow apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}" // use kapt for kotlin apt 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}" //<--- 数据库 DBFlow
3. 使用 创建数据库标识 用于记录数据库版本与名字
创建一个数据库标识类,如果需要升级数据库就修改version属性即可
/** * 数据库标识 * 版本 * 名字 */ @Database(name = AppDB.NAME, version = AppDB.VERSION) public class AppDB { //数据库名称 public static final String NAME = "AppDB"; //数据库版本号 public static final int VERSION = 1; }
4.实体类
创建一个实体类 继承 BaseModel
@ModelContainer @Table(database = AppDB.class) public class About extends BaseModel { //自增ID @PrimaryKey(autoincrement = true) public Long tId; @Column public String auto; }
5.初始化DBFlow 在Application onCreate方法里面写上这句初始化代码
FlowManager.init(new FlowConfig.Builder(this).build());
6.Make 项目 刷新
DBFlow会给加了注解的实体类 自动生成对应的类比如:
这一些类会在编写一些需要写判断的查询 删除会用到
7.获取单个对象
About about=new Select().from(About.class).querySingle();
8.获取一组list对象
List<About> abouts=new Select().from(About.class).queryList();
9.获取一组list对象 根据字段 auto
List<About> abouts=new Select().from(About.class).where(About_Table.auto.eq("abouts")).queryList();
10. 删除一个对象 和 根据字段删除一个对象
new Delete().from(About.class).execute();
new Delete().from(About.class).where(About_Table.auto.eq("auto")).execute();
结束
转载请标明原地址