Android GreenDao数据库

来源:互联网 发布:雪山贷网络贷款 编辑:程序博客网 时间:2024/05/17 07:20

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、在项目中定义实体类


//标识实体类@Entitypublic 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);

原创粉丝点击