greenDao
官方文档中介绍,其效率要优于其他几个ORM
框架,也有小伙伴验证过,其效率确实挺不错。所以greenDao
还是有必要学一学的。毕竟只是用Android
的SQLiteOpenHelper
效率不是低了一丁点。在学习了greenDao之后感觉还是蛮好用的。在这里记录下使用方法。
集成
在一开始学习的使用,查看官方文档。没有找到greenDao
的完成配置方式。可能是我不够细心。下面是完全的greedDao的配置。想要查看配置的请点这里
在build.gradle
文件中添加:
apply plugin: 'org.greenrobot.greendao'
greendao {
schemaVersion 1
daoPackage 'xyz.magicer.greendaodemo.dao' //包名
targetGenDir 'src/main/java' //生成目录
}
compile 'org.greenrobot:greendao:3.2.0'
compile 'org.greenrobot:greendao-generator:3.2.0'
在项目中的build.gradle
中添加
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
}
}
使用
官方文档中关于部分注解的说明:点这里
创建entity文件
@Entity
public class User {
@Id
private long id;
private String name;
private int age;
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
}
编译
编译一下工程之后就会生成DaoMaster
、DaoSession
、UserDao
三个文件。
使用
一个简单的使用实例如下。
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, "user.db", null);
DaoMaster daoMaster = new DaoMaster(openHelper.getWritableDatabase());
DaoSession daoSession = daoMaster.newSession();
UserDao userDao = daoSession.getUserDao();
User user = new User(0, "zhang3", 19);
userDao.insert(user);
List<User> magicer= userDao.queryBuilder().where(UserDao.Properties.Name.eq("magicer"))
.orderDesc()
.build()
.list();
ClassCastException
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。