List of usage examples for org.springframework.jdbc.core.namedparam NamedParameterJdbcOperations queryForObject
@Nullable
<T> T queryForObject(String sql, Map<String, ?> paramMap, Class<T> requiredType) throws DataAccessException;
From source file:io.kahu.hawaii.util.pagination.PaginationHelper.java
public Page<E> fetchPage(final NamedParameterJdbcOperations jt, final String sqlCountRows, final String sqlFetchRows, final Map<String, Object> paramMap, final Pageable pageable, final RowMapper<E> rowMapper) { // first execute select count (needed for paging metadata) final int rowCount = jt.queryForObject(sqlCountRows, paramMap, Integer.class); if (maxRows != null && (rowCount > maxRows)) { // Threshold defined and total number of records is higher return new PageImpl<E>(new ArrayList<>(), new PageRequest(0, 1), rowCount); }// w ww . ja v a2 s .c om // now fetch the actual objects (content) final List<E> pageItems = jt.query(sqlFetchRows, paramMap, (resultSet, rowNum) -> { return rowMapper.mapRow(resultSet, rowNum); }); // return the page return new PageImpl<E>(pageItems, pageable, rowCount); }
From source file:com.example.securelogin.selenium.loginform.SecureLoggingTest.java
private void isLogged(long start, long end, String username, String message) { NamedParameterJdbcOperations jdbcOperations = dbLogAssertOperations.getJdbcOperations(); StringBuilder sql = new StringBuilder(); StringBuilder where = new StringBuilder(); sql.append("SELECT COUNT(e.*) FROM logging_event e"); where.append(" WHERE e.formatted_message REGEXP :message"); where.append(" AND e.timestmp BETWEEN :start AND :end"); sql.append(" JOIN logging_event_property ep ON ep.event_id = e.event_id"); if (username != null) { where.append(" AND ep.mapped_key = 'USER' AND ep.mapped_value = :username"); }//from w ww . j ava 2s .com sql.append(where); MapSqlParameterSource params = new MapSqlParameterSource(); params.addValue("start", start); params.addValue("end", end); params.addValue("username", username); params.addValue("message", message); Long count = jdbcOperations.queryForObject(sql.toString(), params, Long.class); assertThat(count, is(not(0L))); }