我需要从单个列中获取数据,但如何使用greenDAO来完成此任务?
我不查询所有列的原因是我认为它会降低效率,这真的很重要吗?
或者greenDAO效率太高,以至于查询单个列或整个实体之间没有任何区别?
答案 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));
}