Шаг 127.
Язык программирования Java.
Интерфейс PreparedStatement

На этом шаге мы рассмотрим интерфейс PreparedStatement

Также в Java можно строить параметризованные запросы. Для этого есть интерфейс PreparedStatement. Он наследуется от Statement. Но также он содержит многие свои функции. Мы приведем только некоторые из них в таблице 1. С остальными функциями можно ознакомиться в документации.

Получить объект типа PreparedStatement можно следующим образом:

String sql = "insert into test_table(column_1, column_2) values(?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);

Обратим внимание, что мы передали строку запроса в функцию prepareStatement(). Также заметим, что мы используем знак “?” для того, чтобы указать подстановочный параметр. В дальнейшем значения будут подставляться вместо этого знака. Преимущество такого подхода в том, что с помощью такого интерфейса создается единый каркас для множества однотипных запросов. Такой запрос компилируется только один раз и это позволяет использовать его сколько угодно раз.

Таблица 1. Функции интерфейса PreparedStatement
Функция Описание
boolean execute() throws SQLException Выполняет запрос, переданный в функции prepareStatement(). Возвращает true, если запрос вернул значения, false в противном случае.
ResultSet executeQuery() throws SQLException Выполняет запрос, переданный в функции prepareStatement(). Возвращает набор данных, которые вернул запрос. Если таких данных нет, то возвращается null.
int executeUpdate() throws SQLException Выполняет запрос, переданный в функции prepareStatement(). Допустимые операции в запросе: insert, update и delete. Возвращает количество обновленных значений.
void setArray (int parameterIndex, Array x) throws SQLException Устанавливает значение параметра запроса, стоящего на позиции parameterIndex. Нумерация параметров начинается с 1. Тип значения параметра указан в имени функции.
void setBoolean(int parameterIndex, boolean x) throws SQLException
void setByte(int parameterIndex, byte x) throws SQLException
void setBytes(int parameterIndex, byte x[]) throws SQLException
void setDate(int parameterIndex, java.sql.Date x) throws SQLException
void setDouble(int parameterIndex, double x) throws SQLException
void setFloat(int parameterIndex, float x) throws SQLException
void setInt(int parameterIndex, int x) throws SQLException
void setLong(int parameterIndex, long x) throws SQLException
void setNull(int parameterIndex, int sqlType) throws SQLException
void setNull (int parameterIndex, int sqlType, String typeName) throws SQLException
void setString(int parameterIndex, String x) throws SQLException

На следующем шаге мы рассмотрим интерфейс CallableStatement

Предыдущий шаг Содержание Следующий шаг