greenDao使用方法二

来源:互联网 发布:centos7 开启3306端口 编辑:程序博客网 时间:2024/06/05 12:42

回看上篇文章,发现只简述了怎么配置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数据库的方法。

原创粉丝点击