@Override @Nullable public <T> T execute(String sql, PreparedStatementCallback<T> action) throws DataAccessException { return execute(sql, EmptySqlParameterSource.INSTANCE, action); }
@Override @Nullable public <T> T execute(String sql, Map<String, ?> paramMap, PreparedStatementCallback<T> action) throws DataAccessException { return execute(sql, new MapSqlParameterSource(paramMap), action); }
@Test public void testExecuteNoParameters() throws SQLException { given(preparedStatement.executeUpdate()).willReturn(1); Object result = namedParameterTemplate.execute(SELECT_NO_PARAMETERS, (PreparedStatementCallback<Object>) ps -> { assertEquals(preparedStatement, ps); ps.executeQuery(); return "result"; }); assertEquals("result", result); verify(connection).prepareStatement(SELECT_NO_PARAMETERS); verify(preparedStatement).close(); verify(connection).close(); }
@Test public void testExecute() throws SQLException { given(preparedStatement.executeUpdate()).willReturn(1); params.put("perfId", 1); params.put("priceId", 1); Object result = namedParameterTemplate.execute(UPDATE_NAMED_PARAMETERS, params, (PreparedStatementCallback<Object>) ps -> { assertEquals(preparedStatement, ps); ps.executeUpdate(); return "result"; }); assertEquals("result", result); verify(connection).prepareStatement(UPDATE_NAMED_PARAMETERS_PARSED); verify(preparedStatement).setObject(1, 1); verify(preparedStatement).setObject(2, 1); verify(preparedStatement).close(); verify(connection).close(); }
@Test public void testExecuteWithTypedParameters() throws SQLException { given(preparedStatement.executeUpdate()).willReturn(1); params.put("perfId", new SqlParameterValue(Types.DECIMAL, 1)); params.put("priceId", new SqlParameterValue(Types.INTEGER, 1)); Object result = namedParameterTemplate.execute(UPDATE_NAMED_PARAMETERS, params, (PreparedStatementCallback<Object>) ps -> { assertEquals(preparedStatement, ps); ps.executeUpdate(); return "result"; }); assertEquals("result", result); verify(connection).prepareStatement(UPDATE_NAMED_PARAMETERS_PARSED); verify(preparedStatement).setObject(1, 1, Types.DECIMAL); verify(preparedStatement).setObject(2, 1, Types.INTEGER); verify(preparedStatement).close(); verify(connection).close(); }
@Ignore("SPR-16340") @Test public void testExecuteArray() throws SQLException { given(preparedStatement.executeUpdate()).willReturn(1); List<Integer> typeIds = Arrays.asList(1, 2, 3); params.put("typeIds", typeIds); params.put("id", 1); Object result = namedParameterTemplate.execute(UPDATE_ARRAY_PARAMETERS, params, (PreparedStatementCallback<Object>) ps -> { assertEquals(preparedStatement, ps); ps.executeUpdate(); return "result"; }); assertEquals("result", result); verify(connection).prepareStatement(UPDATE_ARRAY_PARAMETERS_PARSED); verify(preparedStatement).setObject(1, 1); verify(preparedStatement).setObject(2, 2); verify(preparedStatement).setObject(3, 3); verify(preparedStatement).setObject(4, 1); verify(preparedStatement).close(); verify(connection).close(); }
public <T> T execute(String sql, PreparedStatementCallback<T> action) throws DataAccessException { return execute(sql, EmptySqlParameterSource.INSTANCE, action); }
public <T> T execute(String sql, Map<String, ?> paramMap, PreparedStatementCallback<T> action) throws DataAccessException { return execute(sql, new MapSqlParameterSource(paramMap), action); }
@Override public Object update(final String sql) { if (param != null) { NamedParameterJdbcTemplate t = new NamedParameterJdbcTemplate(jdbcTemplate); return t.execute(sql, param, new PreparedStatementCallback<Void>() { @Override public Void doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.executeUpdate(); return null; } }); } else { jdbcTemplate.execute(sql); } return null; }
@Override @Nullable public <T> T execute(String sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) throws DataAccessException { return getJdbcOperations().execute(getPreparedStatementCreator(sql, paramSource), action); }
@Override public void builds(Branch branch, Predicate<Build> buildPredicate, BuildSortDirection sortDirection) { String order = sortDirection == BuildSortDirection.FROM_NEWEST ? "DESC" : "ASC"; getNamedParameterJdbcTemplate().execute( "SELECT * FROM BUILDS WHERE BRANCHID = :branchId ORDER BY ID " + order, params("branchId", branch.id()), ps -> { ResultSet rs = ps.executeQuery(); boolean goingOn = true; while (rs.next() && goingOn) { // Gets the builds Build build = toBuild( rs, id -> branch ); // Dealing with this build goingOn = buildPredicate.test(build); } return null; } ); }
@Override public Collection<ProjectEntity> searchByProperty(String typeName, BiFunction<ProjectEntityType, ID, ProjectEntity> entityLoader, Predicate<TProperty> predicate) { return getNamedParameterJdbcTemplate().execute( "SELECT * FROM PROPERTIES WHERE TYPE = :type ORDER BY ID DESC", params("type", typeName), (PreparedStatement ps) -> { Collection<ProjectEntity> entities = new ArrayList<>(); ResultSet rs = ps.executeQuery(); while (rs.next()) { TProperty t = toProperty(rs); if (predicate.test(t)) { entities.add(entityLoader.apply(t.getEntityType(), t.getEntityId())); } } return entities; } ); }
map.put("salary",e.getSalary()); nameTemplate.execute(query,map,new MyPreparedStatement());
conn = getConnection(); NamedParameterJdbcTemplate jdbcTemplate = new NamedParameterJdbcTemplate(conn._1()); jdbcTemplate.execute(query, params, new PreparedStatementCallback<Void>() { @Override public Void doInPreparedStatement(PreparedStatement ps) {
@Override public int commit(DefaultSqlEndpoint defaultSqlEndpoint, Exchange exchange, Object data, NamedParameterJdbcTemplate jdbcTemplate, SqlParameterSource parameterSource, String query) throws Exception { final SqlParameterSource param = new ElsqlSqlMapSource(exchange, data); final String sql = elSql.getSql(query, new SpringSqlParams(param)); LOG.debug("commit @{} using sql: {}", query, sql); return jdbcTemplate.execute(sql, param, new PreparedStatementCallback<Integer>() { @Override public Integer doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.execute(); int updateCount = ps.getUpdateCount(); if (LOG.isTraceEnabled()) { LOG.trace("Update count {}", updateCount); } return updateCount; } }); }
@Override public int commitBatchComplete(DefaultSqlEndpoint endpoint, NamedParameterJdbcTemplate namedJdbcTemplate, SqlParameterSource parameterSource, String query) throws Exception { final SqlParameterSource param = new EmptySqlParameterSource(); final String sql = elSql.getSql(query, new SpringSqlParams(param)); LOG.debug("commitBatchComplete @{} using sql: {}", query, sql); return namedJdbcTemplate.execute(sql, param, new PreparedStatementCallback<Integer>() { @Override public Integer doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException { ps.execute(); int updateCount = ps.getUpdateCount(); if (LOG.isTraceEnabled()) { LOG.trace("Update count {}", updateCount); } return updateCount; } }); }
@Override public void builds(Project project, Predicate<Build> buildPredicate) { getNamedParameterJdbcTemplate().execute( "SELECT B.* FROM BUILDS B INNER JOIN BRANCHES R ON R.ID = B.BRANCHID AND R.PROJECTID = :projectId ORDER BY B.ID DESC", params("projectId", project.id()), ps -> { ResultSet rs = ps.executeQuery(); boolean goingOn = true; while (rs.next() && goingOn) { // Gets the builds Build build = toBuild( rs, this::getBranch ); // Dealing with this build goingOn = buildPredicate.test(build); } return null; } ); }
conn = getConnection(); NamedParameterJdbcTemplate jdbcTemplate = new NamedParameterJdbcTemplate(conn._1()); jdbcTemplate.execute(query, params, new PreparedStatementCallback<Void>() { @Override public Void doInPreparedStatement(PreparedStatement ps) {
@Override public List<TCopyEvent> findCopies(int repositoryId, String fromPath, String toPathPrefix, Predicate<TCopyEvent> filter) { return getNamedParameterJdbcTemplate().execute( "SELECT * FROM EXT_SVN_COPY WHERE REPOSITORY = :repositoryId " + "AND COPYFROMPATH = :fromPath " + "AND COPYTOPATH LIKE :toPath " + "ORDER BY REVISION ASC", params("repositoryId", repositoryId) .addValue("fromPath", fromPath) .addValue("toPath", toPathPrefix + "%"), ps -> { ResultSet rs = ps.executeQuery(); List<TCopyEvent> events = new ArrayList<>(); while (rs.next()) { TCopyEvent event = toCopyEvent(rs); if (filter.test(event)) { events.add(event); } } // List return events; } ); } }
messagePolled = namedJdbcTemplate.execute(preparedQuery, parameterSource, callback); } else { messagePolled = jdbcTemplate.execute(preparedQuery, callback);