@Override public <T> T query(Statement statement, ResultSetExtractor<T> resultSetExtractor) throws DataAccessException { Assert.notNull(statement, "CQL Statement must not be null"); Assert.notNull(resultSetExtractor, "ResultSetExtractor must not be null"); try { if (logger.isDebugEnabled()) { logger.debug("Executing CQL Statement [{}]", statement); } return resultSetExtractor.extractData(getCurrentSession().execute(applyStatementSettings(statement))); } catch (DriverException e) { throw translateException("Query", statement.toString(), e); } }
@Override @Nullable public <T> T query(String cql, ResultSetExtractor<T> resultSetExtractor) throws DataAccessException { Assert.hasText(cql, "CQL must not be empty"); Assert.notNull(resultSetExtractor, "ResultSetExtractor must not be null"); try { if (logger.isDebugEnabled()) { logger.debug("Executing CQL Statement [{}]", cql); } SimpleStatement statement = applyStatementSettings(new SimpleStatement(cql)); ResultSet results = getCurrentSession().execute(statement); return resultSetExtractor.extractData(results); } catch (DriverException e) { throw translateException("Query", cql, e); } }
@Override public <T> T execute(SessionCallback<T> action) throws DataAccessException { Assert.notNull(action, "Callback object must not be null"); try { return action.doInSession(getCurrentSession()); } catch (DriverException e) { throw translateException("SessionCallback", toCql(action), e); } }
@Override @Nullable public <T> T execute(PreparedStatementCreator preparedStatementCreator, PreparedStatementCallback<T> action) throws DataAccessException { Assert.notNull(preparedStatementCreator, "PreparedStatementCreator must not be null"); Assert.notNull(action, "PreparedStatementCallback object must not be null"); try { if (logger.isDebugEnabled()) { logger.debug("Preparing statement [{}] using {}", toCql(preparedStatementCreator), preparedStatementCreator); } Session session = getCurrentSession(); return action.doInPreparedStatement(session, applyStatementSettings(preparedStatementCreator.createPreparedStatement(session))); } catch (DriverException e) { throw translateException("PreparedStatementCallback", toCql(preparedStatementCreator), e); } }
@Nullable @Override public <T> T query(PreparedStatementCreator preparedStatementCreator, @Nullable PreparedStatementBinder psb, ResultSetExtractor<T> resultSetExtractor) throws DataAccessException { Assert.notNull(preparedStatementCreator, "PreparedStatementCreator must not be null"); Assert.notNull(resultSetExtractor, "ResultSetExtractor object must not be null"); try { if (logger.isDebugEnabled()) { logger.debug("Preparing statement [{}] using {}", toCql(preparedStatementCreator), preparedStatementCreator); } Session session = getCurrentSession(); PreparedStatement preparedStatement = preparedStatementCreator.createPreparedStatement(session); if (logger.isDebugEnabled()) { logger.debug("Executing prepared statement [{}]", preparedStatement); } BoundStatement boundStatement = applyStatementSettings( psb != null ? psb.bindValues(preparedStatement) : preparedStatement.bind()); ResultSet results = session.execute(boundStatement); return resultSetExtractor.extractData(results); } catch (DriverException e) { throw translateException("Query", toCql(preparedStatementCreator), e); } }