Android中数据库操作框架DBFlow介绍与使用

首先添加依赖:

annotationProcessor 'com.github.Raizlabs.DBFlow:dbflow-processor:4.2.4'
    compile 'com.github.Raizlabs.DBFlow:dbflow-core:4.2.4'
    compile 'com.github.Raizlabs.DBFlow:dbflow:4.2.4'

需要创建一个application文件,在onCrete()方法中初始化

 //DBFlow初始化配置
        FlowManager.init(getApplicationContext());

这样整个配置就完成了,下面我们来看看如何使用

第一,创建数据库

我们需要自己创建一个数据库,定义数据库名称,版本号

@Database(name = DBFlowDatabase.NAME, version = DBFlowDatabase.VERSION)
public class DBFlowDatabase {
    //数据库名称
    public static final String NAME = "DBFlowDatabase";
    //数据库版本号
    public static final int VERSION = 1;
}

其次创建model文件

@Table(database = DBFlowDatabase.class)
public class User extends BaseModel {
    @Column
    public String userName;
    @Column
    public String addr;
    @Column
    public int age;

    @PrimaryKey(autoincrement = true)//ID自增
    public long userId;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }

    @Override
    public String toString() {
        return "User{" +
                "userName='" + userName + '\'' +
                ", addr='" + addr + '\'' +
                ", age=" + age +
                ", userId=" + userId +
                '}';
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }
}

这里简单介绍下,必须继承BaseModel,BaseModel包含了基本的数据库操作(save、delete、update、insert、exists),可以发现这个表是关联上面定义的数据库,UserModel 的id是自增的id(autoincrement )。

一个正确的数据表类需要以下几项: 对类添加@Table注解 声明所连接的数据库类,这里是DBFlowDatabase。 定义至少一个主键。
这个类和这个类中数据库相关列的修饰符必须是包内私有或者public。 这样生成的_Adapter类能够访问到它。 NOTE:
列(Column)属性可以是private,但这样就必须指定公有public的getter和setter方法。

创建完成后,需要编译一下,点击编译按钮,或者Build->Make Project即可,它会自动生成一些数据库文件,也会提示你创建是否有误!

然后,就是重头戏,怎么使用增删改查

      User user = new User();

        user.setAddr("信阳");
        user.setAge(28);
        user.setUserName("张飞");
       user.save();

        //people.update();//更新对象
        //people.delete();//删除对象
        //people.insert();//插入对象

查询:

List users = SQLite.select()
                    .from(User.class)
                    .where(User_Table.age.greaterThan(18))
                    .queryList();
查询全部:

List users=new Select().from(User.class).queryList()

代码

你可能感兴趣的:(Android,各种框架使用)