如何使用greenDAO 3查询单个列?

时间:2017-03-23 01:09:35

标签: greendao

我需要从单个列中获取数据,但如何使用greenDAO来完成此任务?

我不查询所有列的原因是我认为它会降低效率,这真的很重要吗?

或者greenDAO效率太高,以至于查询单个列或整个实体之间没有任何区别?

1 个答案:

答案 0 :(得分:0)

如果您不想ItemDao.loadAll(),可以在数据库上执行rawQuery(String query, String[] args)以获取列

List<ColumnType> column_content = new ArrayList<>();
Cursor mCursor = daoSession.getDatabase()
                .rawQuery("SELECT " + 
ItemDao.Properties.COLUMN1.columnName + " FROM " + ItemDao.TABLENAME, new String[0]);
for(mCursor.moveToFirst(); !mCursor.isAfterLast(); mCursor.moveToNext()) {
    // The Cursor is now set to the right position
    column_content.add(mCursor.getColumnType(0));
}