private class CreatePreparedStatementCommand extends AbstractStatementCommand { private final int returnGeneratedKeys; private CreatePreparedStatementCommand(int returnGeneratedKeys) { this.returnGeneratedKeys = returnGeneratedKeys; } @Override protected PreparedStatement execute(Connection connection, String sql) throws SQLException { if (returnGeneratedKeys == USE_COLUMN_NAMES && keyColumnNames != null) { return connection.prepareStatement(sql, keyColumnNames.toArray(EMPTY_STRING_ARRAY)); } if (returnGeneratedKeys != 0) { return connection.prepareStatement(sql, returnGeneratedKeys); } if (appearsLikeStoredProc(sql)) { if (resultSetHoldability == -1) { return connection.prepareCall(sql, resultSetType, resultSetConcurrency); } return connection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability); } if (resultSetHoldability == -1) { return connection.prepareStatement(sql, resultSetType, resultSetConcurrency); } return connection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability); } private boolean appearsLikeStoredProc(String sql) { return sql.matches("\\s*[{]?\\s*[?]?\\s*[=]?\\s*[cC][aA][lL][lL].*"); } }
PreparedStatement statement = (PreparedStatement) getAbstractStatement(new CreatePreparedStatementCommand(0), connection, sql); configure(statement); psWrapper = new BatchingPreparedStatementWrapper(statement, indexPropList, batchSize, LOG, this);
PreparedStatement statement = (PreparedStatement) getAbstractStatement(new CreatePreparedStatementCommand(0), connection, sql); configure(statement); psWrapper = new BatchingPreparedStatementWrapper(statement, indexPropList, batchSize, LOG, this);
@Override protected PreparedStatement execute(Connection connection, String sql) throws SQLException { if (returnGeneratedKeys == USE_COLUMN_NAMES && keyColumnNames != null) { return connection.prepareStatement(sql, keyColumnNames.toArray(EMPTY_STRING_ARRAY)); } if (returnGeneratedKeys != 0) { return connection.prepareStatement(sql, returnGeneratedKeys); } if (appearsLikeStoredProc(sql)) { if (resultSetHoldability == -1) { return connection.prepareCall(sql, resultSetType, resultSetConcurrency); } return connection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability); } if (resultSetHoldability == -1) { return connection.prepareStatement(sql, resultSetType, resultSetConcurrency); } return connection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability); }
PreparedStatement execute(Connection connection, String sql) throws SQLException { if (returnGeneratedKeys != 0) return connection.prepareStatement(sql, returnGeneratedKeys); if (appearsLikeStoredProc(sql)) return connection.prepareCall(sql); return connection.prepareStatement(sql); }
protected PreparedStatement execute(Connection connection, String sql) throws SQLException { if (returnGeneratedKeys != 0) return connection.prepareStatement(sql, returnGeneratedKeys); if (appearsLikeStoredProc(sql)) return connection.prepareCall(sql); return connection.prepareStatement(sql); }
private PreparedStatement getPreparedStatement(Connection connection, String sql, List<Object> params, int returnGeneratedKeys) throws SQLException { SqlWithParams updated = checkForNamedParams(sql, params); LOG.fine(updated.getSql() + " | " + updated.getParams()); PreparedStatement statement = (PreparedStatement) getAbstractStatement(new CreatePreparedStatementCommand(returnGeneratedKeys), connection, updated.getSql()); setParameters(updated.getParams(), statement); configure(statement); return statement; }
private PreparedStatement getPreparedStatement(Connection connection, String sql, List<Object> params, int returnGeneratedKeys) throws SQLException { SqlWithParams updated = checkForNamedParams(sql, params); LOG.fine(updated.getSql() + " | " + updated.getParams()); PreparedStatement statement = (PreparedStatement) getAbstractStatement(new CreatePreparedStatementCommand(returnGeneratedKeys), connection, updated.getSql()); setParameters(updated.getParams(), statement); configure(statement); return statement; }
private PreparedStatement getPreparedStatement(Connection connection, String sql, List<Object> params, int returnGeneratedKeys) throws SQLException { PreparedStatement statement = (PreparedStatement) getAbstractStatement(new CreatePreparedStatementCommand(returnGeneratedKeys), connection, sql); setParameters(params, statement); configure(statement); return statement; }