AbstractDaoSession 提供简单的操作表的接口
DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(context, "arnold.db");
DaoMaster daoMaster = new DaoMaster(devOpenHelper.getWritableDb());
AbstractDaoSession daoSession = daoMaster.newSession();
简单封装数据查询接口
/**
* 原生sql文查询
*
* @param sql
* @param selectionArgs
*
* @return
*/
public Cursor rawQuery(final String sql, final String[] selectionArgs) {
return daoSession.getDatabase().rawQuery(sql, selectionArgs);
}
/**
* 主键查询实体
*
* @param entityClass
* @param key
* @param <T>
* @param <K>
*
* @return
*/
public <T, K> T query(Class<T> entityClass, final K key) {
AbstractDao<T, K> dao = (AbstractDao<T, K>) daoSession.getDao(entityClass);
return dao.load(key);
}
/**
* 条件查询实体集合
*
* @param entityClass
* @param where
* @param selectionArgs
* @param <T>
*
* @return
*/
public <T> List<T> query(Class<T> entityClass, String where, Object... selectionArgs) {
AbstractDao<T, ?> dao = (AbstractDao<T, ?>) daoSession.getDao(entityClass);
QueryBuilder<T> builder = dao.queryBuilder().where(
new WhereCondition.StringCondition(where, selectionArgs));
return builder.list();
}
/**
* 全量查询实体集合
*
* @param en