回看上篇文章,发现只简述了怎么配置greenDao的生成工程,而使用的部分内容忘了写了,罪过。。 在这里补上吧。。
使用java application运行上篇文章配置好的greenDao生成工程
运行结束,会在你指定的路径下生成相应的类文件
DaoMaster与DaoSession是必定生成的,负责对数据库表的操作,而Customer和CustomerDao是在你添加了对应的表结构后生成。
到这里,基本就可以对数据库进行增删改查的操作了,但为了操作的方便,可以自行添加一个类,来处理对数据库的各种操作。
public class DBHelper {
private static final String TAG = DBHelper.class.getSimpleName();
private static DBHelper mInstance;
private static Context mAppContext;
private DaoSession mDaoSession;
private AccountDao mAccountDao;
private DBHelper() {
}
// 单例模式,DBHelper只初始化一次
public static DBHelper getInstance(Context context) {
if (mInstance == null) {
mInstance = new DBHelper();
if (mAppContext == null) {
mAppContext = context.getApplicationContext();
}
mInstance.mDaoSession = (MyApplication)mAppContext).getDaoSession(context);
mInstance.mAccountDao = mInstance.mDaoSession.getAccountDao();
}
return mInstance;
}
// 删除Account表
public void dropRecordTable() {
mAccountDao .dropTable(mDaoSession.getDatabase(), true);
}
// 创建表
public void createAllTable() {
mAccountDao .createTable(mDaoSession.getDatabase(), true);
}
public List<Account> loadAllAccounts() {
QueryBuilder<Account> mrBuilder = mAccountDao.queryBuilder();
return mrBuilder.list();
}
public void insert(Account account) {
mAccountDao.insert(account);
}
public void update(Account account) {
mAccountDao.update(account);
}
public Account queryAccount(String accountPhone) {
QueryBuilder<Account> mqBuilder = mAccountDao.queryBuilder();
mqBuilder.where(com.rencarehealth.mirhythm.greendao.AccountDao.Properties.Account_phone.eq(accountPhone))
.limit(1);
List<Account> accounts = new ArrayList<Account>();
accounts = mqBuilder.list();
if (null == accounts || accounts.size() == 0) {
return null;
}
return mqBuilder.list().get(0);
}
public void deleteAccount(Account account) {
mAccountDao.delete(account);
}
public void deleteAccounts(List<Account> accounts) {
for (Account account : accounts) {
deleteAccount(account);
}
}
}
上面的类,包含了对Account数据库表的增删改查功能,项目中的其他类可调用该类来操作数据库。可以在application类中初始化这个类。
以上就完成了在项目中配置,以及使用greenDao数据库的方法。