@Override public int update(final PreparedStatementCreator psc, final KeyHolder generatedKeyHolder) throws DataAccessException { Assert.notNull(generatedKeyHolder, "KeyHolder must not be null"); logger.debug("Executing SQL update and returning generated keys"); return updateCount(execute(psc, ps -> { int rows = ps.executeUpdate(); List<Map<String, Object>> generatedKeys = generatedKeyHolder.getKeyList(); generatedKeys.clear(); ResultSet keys = ps.getGeneratedKeys(); if (keys != null) { try { RowMapperResultSetExtractor<Map<String, Object>> rse = new RowMapperResultSetExtractor<>(getColumnMapRowMapper(), 1); generatedKeys.addAll(result(rse.extractData(keys))); } finally { JdbcUtils.closeResultSet(keys); } } if (logger.isTraceEnabled()) { logger.trace("SQL update affected " + rows + " rows and returned " + generatedKeys.size() + " keys"); } return rows; })); }
if (param.getRowMapper() != null) { RowMapper<?> rowMapper = param.getRowMapper(); Object result = (new RowMapperResultSetExtractor<>(rowMapper)).extractData(rs); returnedResults.put(param.getName(), result);
public Integer doInPreparedStatement(PreparedStatement ps) throws SQLException { int rows = ps.executeUpdate(); List<Map<String, Object>> generatedKeys = generatedKeyHolder.getKeyList(); generatedKeys.clear(); ResultSet keys = ps.getGeneratedKeys(); if (keys != null) { try { RowMapperResultSetExtractor<Map<String, Object>> rse = new RowMapperResultSetExtractor<Map<String, Object>>(getColumnMapRowMapper(), 1); generatedKeys.addAll(rse.extractData(keys)); } finally { JdbcUtils.closeResultSet(keys); } } if (logger.isDebugEnabled()) { logger.debug("SQL update affected " + rows + " rows and returned " + generatedKeys.size() + " keys"); } return rows; } });
RowMapper rowMapper = new ColumnMapRowMapper(); RowMapperResultSetExtractor<Map<String, Object>> mapper = new RowMapperResultSetExtractor<Map<String, Object>>(rowMapper); List<Map<String, Object>> data = mapper.extractData(rs); if (data.size() > 1) { throw new SQLDataException("Query result not unique for outputType=SelectOne. Got " + data.size() + " count instead."); RowMapper rowMapper = new BeanPropertyRowMapper(outputClzz); RowMapperResultSetExtractor<?> mapper = new RowMapperResultSetExtractor(rowMapper); List<?> data = mapper.extractData(rs); if (data.size() > 1) { throw new SQLDataException("Query result not unique for outputType=SelectOne. Got " + data.size() + " count instead.");
RowMapperResultSetExtractor<Map<String, Object>> rse = new RowMapperResultSetExtractor<Map<String, Object>>( rowMapper, 1); generatedKeys.addAll(rse.extractData(keys));
@SuppressWarnings("unchecked") public List<?> queryForList(ResultSet rs, boolean allowMapToClass) throws SQLException { if (allowMapToClass && outputClass != null) { Class<?> outputClazz = getCamelContext().getClassResolver().resolveClass(outputClass); RowMapper rowMapper = new BeanPropertyRowMapper(outputClazz); RowMapperResultSetExtractor<?> mapper = new RowMapperResultSetExtractor(rowMapper); List<?> data = mapper.extractData(rs); return data; } else { ColumnMapRowMapper rowMapper = new ColumnMapRowMapper(); RowMapperResultSetExtractor<Map<String, Object>> mapper = new RowMapperResultSetExtractor<>(rowMapper); List<Map<String, Object>> data = mapper.extractData(rs); return data; } }
Object result = (new RowMapperResultSetExtractor(rowMapper)).extractData(rsToUse); returnedResults.put(param.getName(), result);