1. 程式人生 > >GreenDao的增刪改查語句

GreenDao的增刪改查語句

首先編寫一個MyApplication類繼承Application類 package com.example.sean.greendaotest_2;

import android.app.Application; import android.database.sqlite.SQLiteDatabase;

import GreenDao.greendao.db.DaoMaster; import GreenDao.greendao.db.DaoSession;

public class MyApplication extends Application { private DaoMaster.DevOpenHelper mHelper; private SQLiteDatabase db; private DaoMaster mDaoMaster; private DaoSession mDaoSession;

//靜態單例
public static MyApplication instances;
@Override
public void onCreate() {
    super.onCreate();
    instances = this;
    setDatabase();
}
public static MyApplication getInstances(){
    return instances;
}

/**
 * 設定greenDao
 */
private void setDatabase() {
    mDaoMaster = new DaoMaster(db);
    mDaoSession = mDaoMaster.newSession();
}
public DaoSession getDaoSession() {
    return mDaoSession;
}
public SQLiteDatabase getDb() {
    return db;
}

}

我將其對資料庫的操作封裝到了一個Util類裡面,具體程式碼如下:

package com.example.sean.greendaotest_2;

import java.util.List;

import GreenDao.greendao.db.UserDao;

/* * 資料庫增刪改查工具類 * */ public class DaoUtil { private UserDao userDao;

/*
 * 增加資料
 * */
public void addUser(String name, int age) {
    userDao = MyApplication.getInstances().getDaoSession().getUserDao();
    User user = new User();
    user.setAge(age);
    user.setName(name);
    userDao.insertOrReplace(user);
}

/*
 * 刪除資料,通過Key刪除
 * */
public void deleteUser(long id) {
    userDao = MyApplication.getInstances().getDaoSession().getUserDao();
    userDao.deleteByKey(id);
}

/*
 * 查詢資料
 * */
public String[] queryUser() {
    //StringBuilder sb = new StringBuilder();
    userDao = MyApplication.getInstances().getDaoSession().getUserDao();
    List<User> userList = userDao.loadAll();
    String[] temp = new String[userList.size()];
    for (int i = 0; i < userList.size(); i++) {
      /*  String temp = "";
        temp += "ID = " + userList.get(i).getId();
        temp += "Name = " + userList.get(i).getName();
        temp += "Age = " + userList.get(i).getAge();
        sb.append(temp);*/
        temp[i] += "ID = " + userList.get(i).getId();
        temp[i] += "NAME = " + userList.get(i).getName();
        temp[i] += "AGE = " + userList.get(i).getAge();
    }
    return temp;
}

/*
 * 修改資料
 * */
public void updateUser(String name, int age, long id) {
    userDao = MyApplication.getInstances().getDaoSession().getUserDao();
    User user = new User();
    user.setId(id);  //根據Id來查詢到資料,並且修改資料
    user.setAge(age);
    user.setName(name);
    userDao.update(user);
}

} 關於GreenDao的配置,可以檢視我的其他博文,以上就是GreenDao的簡單使用,如有不足,請多指教。