1:添加工程依赖,在Project build.gradle和module build.gradle分别添加
Project build.gradle如下:
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
}
module build.gradle如下:
apply plugin: 'org.greenrobot.greendao'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
...
}
buildTypes {
release {
...
}
}
greendao{
schemaVersion 1
daoPackage 'com.aile.greendao.dao'
targetGenDir 'src/main/java'
}
}
dependencies {
.....
compile 'org.greenrobot:greendao:3.2.0'
}
2:根据需求新建实体类,比如User类,然后build-make project就会自动在前面定义的路径下生成一些包,比如DaoMaster- DaoSession- UserDao
public class User {
private Long id;
private String name;
private int age;
}
3:在自定义的Application里进行数据库的初始化并且在AndroidManifest.xml定义MyApplication
public class MyApplication extends Application{
private UserDao userDao;
private static MyApplication application = new MyApplication ();
public static MyApplication getMyApplication () {
return application;
}
public void onCreate() {
super.onCreate();
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(getApplicationContext(),
"user.db", null);
DaoSession mDaoSession = new DaoMaster(devOpenHelper.getWritableDb()).newSession();
userDao = mDaoSession.getUserDao();
}
public UserDao getUserdao() {
return userDao;
}
public static Context getContext(){
return context;
}
}
4:上面三部配置完毕,下面就是具体的增删改查操作
增加数据:
User user = new User(null,"aile",23);
MyApplication.getUserdao().insert(user);
删除数据:
User user = MyApplication.getUserdao().queryBuilder().where(UserDao.Properties.Name.eq("aile")).build().unique();
if(user != null){
MyApplication.getUserdao().deleteByKey(user.getId());
}
更改数据:
User user = MyApplication.getUserdao().queryBuilder().where(UserDao.Properties.Name.eq("aile")).build().unique();
if(user != null) {
user.setName("mire");
MyApplication.getUserdao().update(user);
}
查询数据:
List<User> userList = MyApplication.getUserdao().queryBuilder()
.where(UserDao.Properties.Id.notEq(1))
.limit(5)
.build().list();
for reach遍历出数据
5:数据库简单升级
实体类的更改-这也是升级数据库的原因,比如:
public class User {
private Long id;
private String name;
private int age;
private String sex;
}
修改依赖库版本信息,如下:
greendao{
schemaVersion 2
daoPackage 'com.aile.greendao.dao'
targetGenDir 'src/main/java'
}
好了,关于数据库迁移的问题,以后再说