Android GreenDao数据库

1、在app的Gradle中配置:

apply plugin: 'org.greenrobot.greendao'
添加依赖:

dependencies {
    compile 'org.greenrobot:greendao:3.2.0'
}
 
 

2、在project的Gradle中配置:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
3、在app的Gradle配置 数据库 版本等信息(android下)

greendao {
    schemaVersion 1
    daoPackage 'com.bwie.greendao.gen'
    targetGenDir 'src/main/java'
}
4、在项目中定义实体类


//标识实体类
@Entity
public class User {
    //标识主键(autoincrement = true表示自动增长
    @Id(autoincrement = true)
        private Long id;
        private String name;
        private int age;
}
5、新建一个类,实例化greenDAO所需要的几个关键对象,DaoMaster,DaoSession,代码如下:

public class GreenDaoManager {
    private DaoMaster mDaoMaster;
    private DaoSession mDaoSession;
    private static volatile GreenDaoManager mInstance = null;

    private GreenDaoManager() {
        if (mInstance == null) {
            DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(Myapp.getContext(), "user.db");
            mDaoMaster = new DaoMaster(devOpenHelper.getWritableDatabase());
            mDaoSession = mDaoMaster.newSession();
        }
    }

    public static GreenDaoManager getInstance() {
        if (mInstance == null) {
            synchronized (GreenDaoManager.class) {
                if (mInstance == null) {
                    mInstance = new GreenDaoManager();
                }
            }
        }
        return mInstance;
    }

    public DaoMaster getMaster() {
        return mDaoMaster;
    }

    public DaoSession getSession() {
        return mDaoSession;
    }

    public DaoSession getNewSession() {
        mDaoSession = mDaoMaster.newSession();
        return mDaoSession;
    }
}

然后在Application中初始化:

GreenDaoManager.getInstance();
现在就可以操作数据库了。

6、数据库的增、删、改、查

首先获得UserDao的对象

UserDao userDao = GreenDaoManager.getInstance().getNewSession().getUserDao();
增:

user = new User(null, "唐1", 22);
userDao.insert(user);

:

(按照id删除)

userDao.deleteByKey(id);
(全部删除)

userDao.deleteAll();

:

(查询全部数据)

List<User> users = userDao.loadAll();
String name = "";
for (int i = 0; i < users.size(); i++) {
    name+=user.getName()+",";
}
Toast.makeText(this , "查詢"+ name,Toast.LENGTH_SHORT).show();

改:

(按照id查找)

user = new User((long)2,"唐唐");
UserDao.update(user);

猜你喜欢

转载自blog.csdn.net/taa1007/article/details/78541317
今日推荐