GreenDao使用
GreenDao3.0使用
greenDAO是一个轻量、快速的ORM(对象关系映射)解决方案,它将对象映射到SQLite数据库,这样就可以通过简单的面向对象的接口来增加、删除、更新、查询Java对象,大大减少了工作任务。
2、GreenDao的配置
buildscript {
repositories {
jcenter() //添加一个仓库
mavenCentral() }
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
//添加的内容
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' }
}
apply plugin: 'com.android.application'// 添加GreenDao的plugina
pply plugin: 'org.greenrobot.greendao'
//配置GreenDao文件生成位置,它的级别是与Android标签和dependencies标签一个级别的
greendao {
//数据库的版本号,数据库版本升级的时候用得到
schemaVersion 2;
//生成的Daos、DaoMaster路径,我选择的是生成在自己的实体类文件下
daoPackage "com.rushro2m.greendao_master.bean"
//生成的资源路径,默认存放在build中 targetGenDir "src/main/java"}
dependencies { // 添加GreenDao的library compile 'org.greenrobot:greendao:3.2.2' }
参数说明:这个@Entity说明这个MovieBean是一个实体类,一会会在数据库中生成对应的表。
@Id表示该字段的id,这里使用的是Long包装类型,这样的话,可以实现id的自增效果,当然也可以使用long类型,不过要设置上自增属性,
@Property表名这个字段是要放入到数据库中去的,nameInDb表示此字段在数据库中的数据名称,也可以不设置,那么就会使用默认字段,即使用变量名。
其它的还有就是@Transient,表示该字段不会放入数据库,
@NotNull表示该字段不可以为空
@Unique表示该字段唯一等。
完成后,点击Build–>Make Project按钮,
或者直接点击运行按钮旁边的绿色小锤子,等待系统自动生成GreenDao文件
。系统会生成三个文件DaoMaster,DaoSession,MovieBeanDao三个文件,
并在MovieBean中自动生成setter和getter方法。
使用:
public class MyApp extends Application {
private DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
//实例化一个OpenHelper实例,类似于使用的SQLiteOpenHelper类
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "movie-db");
//获取一个SQLiteDatabase
SQLiteDatabase database = helper.getWritableDatabase();
//使用数据库对象构造一个DaoMaster
DaoMaster daoMaster = new DaoMaster(database);
//开启DoaSession
daoSession = daoMaster.newSession();
}
public DaoSession getDaoSession() {
return daoSession;
}
}