org.greenrobot.greendao.database.Database.rawQuery()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(414)

本文整理了Java中org.greenrobot.greendao.database.Database.rawQuery()方法的一些代码示例,展示了Database.rawQuery()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Database.rawQuery()方法的具体详情如下:
包路径:org.greenrobot.greendao.database.Database
类名称:Database
方法名:rawQuery

Database.rawQuery介绍

暂无

代码示例

代码示例来源:origin: greenrobot/greenDAO

  1. public T loadByRowId(long rowId) {
  2. String[] idArray = new String[]{Long.toString(rowId)};
  3. Cursor cursor = db.rawQuery(statements.getSelectByRowId(), idArray);
  4. return loadUniqueAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** Loads all available entities from the database. */
  2. public List<T> loadAll() {
  3. Cursor cursor = db.rawQuery(statements.getSelectAll(), null);
  4. return loadAllAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** A raw-style query where you can pass any WHERE clause and arguments. */
  2. public List<RelationEntity> queryDeep(String where, String... selectionArg) {
  3. Cursor cursor = db.rawQuery(getSelectDeep() + where, selectionArg);
  4. return loadDeepAllAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** A raw-style query where you can pass any WHERE clause and arguments. */
  2. public List<T> queryRaw(String where, String... selectionArg) {
  3. Cursor cursor = db.rawQuery(statements.getSelectAll() + where, selectionArg);
  4. return loadAllAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** A raw-style query where you can pass any WHERE clause and arguments. */
  2. public List<RelationSource2> queryDeep(String where, String... selectionArg) {
  3. Cursor cursor = db.rawQuery(getSelectDeep() + where, selectionArg);
  4. return loadDeepAllAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** A raw-style query where you can pass any WHERE clause and arguments. */
  2. public List<TreeEntity> queryDeep(String where, String... selectionArg) {
  3. Cursor cursor = db.rawQuery(getSelectDeep() + where, selectionArg);
  4. return loadDeepAllAndCloseCursor(cursor);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** Executes the query and returns a raw android.database.Cursor. Don't forget to close it. */
  2. public Cursor query() {
  3. checkThread();
  4. return dao.getDatabase().rawQuery(sql, parameters);
  5. }

代码示例来源:origin: greenrobot/greenDAO

  1. public static String queryString(Database db, String sql) {
  2. Cursor cursor = db.rawQuery(sql, null);
  3. try {
  4. assertTrue(cursor.moveToNext());
  5. return cursor.getString(0);
  6. } finally {
  7. cursor.close();
  8. }
  9. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** Executes the query and returns the result as a list containing all entities loaded into memory. */
  2. public List<T> list() {
  3. checkThread();
  4. Cursor cursor = dao.getDatabase().rawQuery(sql, parameters);
  5. return daoAccess.loadAllAndCloseCursor(cursor);
  6. }

代码示例来源:origin: greenrobot/greenDAO

  1. public RelationEntity loadDeep(Long key) {
  2. assertSinglePk();
  3. if (key == null) {
  4. return null;
  5. }
  6. StringBuilder builder = new StringBuilder(getSelectDeep());
  7. builder.append("WHERE ");
  8. SqlUtils.appendColumnsEqValue(builder, "T", getPkColumns());
  9. String sql = builder.toString();
  10. String[] keyArray = new String[] { key.toString() };
  11. Cursor cursor = db.rawQuery(sql, keyArray);
  12. try {
  13. boolean available = cursor.moveToFirst();
  14. if (!available) {
  15. return null;
  16. } else if (!cursor.isLast()) {
  17. throw new IllegalStateException("Expected unique result, but count was " + cursor.getCount());
  18. }
  19. return loadCurrentDeep(cursor, true);
  20. } finally {
  21. cursor.close();
  22. }
  23. }

代码示例来源:origin: greenrobot/greenDAO

  1. public RelationSource2 loadDeep(Long key) {
  2. assertSinglePk();
  3. if (key == null) {
  4. return null;
  5. }
  6. StringBuilder builder = new StringBuilder(getSelectDeep());
  7. builder.append("WHERE ");
  8. SqlUtils.appendColumnsEqValue(builder, "T", getPkColumns());
  9. String sql = builder.toString();
  10. String[] keyArray = new String[] { key.toString() };
  11. Cursor cursor = db.rawQuery(sql, keyArray);
  12. try {
  13. boolean available = cursor.moveToFirst();
  14. if (!available) {
  15. return null;
  16. } else if (!cursor.isLast()) {
  17. throw new IllegalStateException("Expected unique result, but count was " + cursor.getCount());
  18. }
  19. return loadCurrentDeep(cursor, true);
  20. } finally {
  21. cursor.close();
  22. }
  23. }

代码示例来源:origin: greenrobot/greenDAO

  1. /**
  2. * Executes the query and returns the result as a list that lazy loads the entities on first access. Entities are
  3. * cached, so accessing the same entity more than once will not result in loading an entity from the underlying
  4. * cursor again.Make sure to close it to close the underlying cursor.
  5. */
  6. public LazyList<T> listLazy() {
  7. checkThread();
  8. Cursor cursor = dao.getDatabase().rawQuery(sql, parameters);
  9. return new LazyList<T>(daoAccess, cursor, true);
  10. }

代码示例来源:origin: greenrobot/greenDAO

  1. public TreeEntity loadDeep(Long key) {
  2. assertSinglePk();
  3. if (key == null) {
  4. return null;
  5. }
  6. StringBuilder builder = new StringBuilder(getSelectDeep());
  7. builder.append("WHERE ");
  8. SqlUtils.appendColumnsEqValue(builder, "T", getPkColumns());
  9. String sql = builder.toString();
  10. String[] keyArray = new String[] { key.toString() };
  11. Cursor cursor = db.rawQuery(sql, keyArray);
  12. try {
  13. boolean available = cursor.moveToFirst();
  14. if (!available) {
  15. return null;
  16. } else if (!cursor.isLast()) {
  17. throw new IllegalStateException("Expected unique result, but count was " + cursor.getCount());
  18. }
  19. return loadCurrentDeep(cursor, true);
  20. } finally {
  21. cursor.close();
  22. }
  23. }

代码示例来源:origin: greenrobot/greenDAO

  1. /**
  2. * Executes the query and returns the result as a list that lazy loads the entities on every access (uncached).
  3. * Make sure to close the list to close the underlying cursor.
  4. */
  5. public LazyList<T> listLazyUncached() {
  6. checkThread();
  7. Cursor cursor = dao.getDatabase().rawQuery(sql, parameters);
  8. return new LazyList<T>(daoAccess, cursor, false);
  9. }

代码示例来源:origin: greenrobot/greenDAO

  1. /**
  2. * Executes the query and returns the unique result or null.
  3. *
  4. * @return Entity or null if no matching entity was found
  5. * @throws DaoException if the result is not unique
  6. */
  7. public T unique() {
  8. checkThread();
  9. Cursor cursor = dao.getDatabase().rawQuery(sql, parameters);
  10. return daoAccess.loadUniqueAndCloseCursor(cursor);
  11. }

代码示例来源:origin: greenrobot/greenDAO

  1. protected Cursor queryWithDummyColumnsInFront(int dummyCount, String valueForColumn, K pk) {
  2. StringBuilder builder = new StringBuilder("SELECT ");
  3. for (int i = 0; i < dummyCount; i++) {
  4. builder.append(valueForColumn).append(",");
  5. }
  6. SqlUtils.appendColumns(builder, "T", dao.getAllColumns()).append(" FROM ");
  7. builder.append('"').append(dao.getTablename()).append('"').append(" T");
  8. if (pk != null) {
  9. builder.append(" WHERE ");
  10. assertEquals(1, dao.getPkColumns().length);
  11. builder.append(dao.getPkColumns()[0]).append("=");
  12. DatabaseUtils.appendValueToSql(builder, pk);
  13. }
  14. String select = builder.toString();
  15. Cursor cursor = db.rawQuery(select, null);
  16. assertTrue(cursor.moveToFirst());
  17. try {
  18. for (int i = 0; i < dummyCount; i++) {
  19. assertEquals(valueForColumn, cursor.getString(i));
  20. }
  21. if (pk != null) {
  22. assertEquals(1, cursor.getCount());
  23. }
  24. } catch (RuntimeException ex) {
  25. cursor.close();
  26. throw ex;
  27. }
  28. return cursor;
  29. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** Returns the count (number of results matching the query). Uses SELECT COUNT (*) sematics. */
  2. public long count() {
  3. checkThread();
  4. Cursor cursor = dao.getDatabase().rawQuery(sql, parameters);
  5. try {
  6. if (!cursor.moveToNext()) {
  7. throw new DaoException("No result for count");
  8. } else if (!cursor.isLast()) {
  9. throw new DaoException("Unexpected row count: " + cursor.getCount());
  10. } else if (cursor.getColumnCount() != 1) {
  11. throw new DaoException("Unexpected column count: " + cursor.getColumnCount());
  12. }
  13. return cursor.getLong(0);
  14. } finally {
  15. cursor.close();
  16. }
  17. }

代码示例来源:origin: greenrobot/greenDAO

  1. /**
  2. * Loads the entity for the given PK.
  3. *
  4. * @param key a PK value or null
  5. * @return The entity or null, if no entity matched the PK value
  6. */
  7. public T load(K key) {
  8. assertSinglePk();
  9. if (key == null) {
  10. return null;
  11. }
  12. if (identityScope != null) {
  13. T entity = identityScope.get(key);
  14. if (entity != null) {
  15. return entity;
  16. }
  17. }
  18. String sql = statements.getSelectByKey();
  19. String[] keyArray = new String[]{key.toString()};
  20. Cursor cursor = db.rawQuery(sql, keyArray);
  21. return loadUniqueAndCloseCursor(cursor);
  22. }

代码示例来源:origin: greenrobot/greenDAO

  1. /** Resets all locally changed properties of the entity by reloading the values from the database. */
  2. public void refresh(T entity) {
  3. assertSinglePk();
  4. K key = getKeyVerified(entity);
  5. String sql = statements.getSelectByKey();
  6. String[] keyArray = new String[]{key.toString()};
  7. Cursor cursor = db.rawQuery(sql, keyArray);
  8. try {
  9. boolean available = cursor.moveToFirst();
  10. if (!available) {
  11. throw new DaoException("Entity does not exist in the database anymore: " + entity.getClass()
  12. + " with key " + key);
  13. } else if (!cursor.isLast()) {
  14. throw new DaoException("Expected unique result, but count was " + cursor.getCount());
  15. }
  16. readEntity(cursor, entity, 0);
  17. attachEntity(key, entity, true);
  18. } finally {
  19. cursor.close();
  20. }
  21. }

代码示例来源:origin: greenrobot/greenDAO

  1. public void testExecuteSqlScript() throws IOException {
  2. DbUtils.executeSqlScript(getContext(), db, "minimal-entity.sql");
  3. Cursor cursor = db.rawQuery("SELECT count(*) from MINIMAL_ENTITY", null);
  4. try {
  5. cursor.moveToFirst();
  6. assertEquals(5, cursor.getInt(0));
  7. } finally {
  8. cursor.close();
  9. }
  10. }

相关文章