@Override public String[] mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); String[] result = new String[columnN]; for (int colC = 0; colC < columnN; colC++) { result[colC] = results.getString(colC); } return result; }
@Override public String[] mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); String[] result = new String[columnN]; for (int colC = 0; colC < columnN; colC++) { result[colC] = results.getString(colC); } return result; }
@Override public Object[] mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); Object[] result = new Object[columnN]; for (int colC = 0; colC < columnN; colC++) { DataType dataType; if (colC >= columnTypes.length) { dataType = DataType.STRING; } else { dataType = columnTypes[colC]; } result[colC] = dataType.getDataPersister().resultToJava(null, results, colC); } return result; } }
@Override public Object[] mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); Object[] result = new Object[columnN]; for (int colC = 0; colC < columnN; colC++) { DataType dataType; if (colC >= columnTypes.length) { dataType = DataType.STRING; } else { dataType = columnTypes[colC]; } result[colC] = dataType.getDataPersister().resultToJava(null, results, colC); } return result; } }
@Override public UO mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); Object[] objectResults = new Object[columnN]; for (int colC = 0; colC < columnN; colC++) { if (colC >= columnTypes.length) { objectResults[colC] = null; } else { objectResults[colC] = columnTypes[colC].getDataPersister().resultToJava(null, results, colC); } } return mapper.mapRow(getColumnNames(results), columnTypes, objectResults); }
@Override public UO mapRow(DatabaseResults results) throws SQLException { int columnN = results.getColumnCount(); Object[] objectResults = new Object[columnN]; for (int colC = 0; colC < columnN; colC++) { if (colC >= columnTypes.length) { objectResults[colC] = null; } else { objectResults[colC] = columnTypes[colC].getDataPersister().resultToJava(null, results, colC); } } return mapper.mapRow(getColumnNames(results), columnTypes, objectResults); }
@Test public void testQueryRawDatabaseResults() throws Exception { Dao<Foo, Object> dao = createDao(Foo.class, true); Foo foo = new Foo(); foo.val = 342234232; assertEquals(1, dao.create(foo)); CloseableIterator<Foo> iterator = dao.iterator(dao.queryBuilder().where().eq(Foo.VAL_COLUMN_NAME, foo.val).prepare()); try { DatabaseResults results = iterator.getRawResults(); assertTrue(results.first()); assertTrue(results.getColumnCount() >= 4); int valIndex = results.findColumn(Foo.VAL_COLUMN_NAME); assertEquals(foo.val, results.getInt(valIndex)); assertFalse(results.next()); } finally { iterator.closeQuietly(); } }