greenDao使用方法二

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值