Добавление переменной в SQL через JDBC

367
02 августа 2017, 19:39

Подключаюсь к базе c помощью jdbc. Хотел бы создать в SQL запросе переменную, которую потом можно было бы подставлять в основную логику программы на Java. Как это можно реализовать.

Answer 1

Вам нужно использовать PreparedStatement. Вот пример из JavaDoc

PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
                                                SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
Answer 2

Вот так устанавливайте соединение:

Connection conn = DriverManager.getConnection("url", "username", "password");

И потом записывайте в таблицу ваши данные:

// Вам понадобится сам sql запрос
String sql = "INSERT INTO exemple (id, val) VALUES (DEFAULT, (?))"
//Создаете PreparedStatement что-бы не забыть закрыть лучше открывать в try-with-resources
try (final PreparedStatement statement =
             //сюда передаете sql запрос:
             connection.prepareStatement(sql)) {
    //Тут у вас задаются значения для (?).
    //Вместо (?) подставляете значение ("test"). Индексация параметров(wildcard) - (?) начинается от 1.
    statement.setString(1, "test");
    //Выполняете сам запрос в базу.
    statement.executeUpdate();
} catch (SQLException e) {
    e.printStackTrace();
}

Это сработает если ваша таблица выглядит на пример так:

CREATE TABLE exemple (
    id SERIAL,
    val TEXT,
);
READ ALSO
Не могу отловить баг в коде MainActivity.java

Не могу отловить баг в коде MainActivity.java

Приложение для игры в крестики-нолики написалСделал так чтобы можно было засчитать победу

295
Тextarea проверка на количество [требует правки]

Тextarea проверка на количество [требует правки]

В textarea, при вставке оставить только цифры и поделить их по 10 знаковПосле 10 знаков поставить запятую при этом если число начинается на 7 или...

229
Не работает window.addEventListener('onload', func) [требует правки]

Не работает window.addEventListener('onload', func) [требует правки]

Когда я пытаюсь использовать windowaddEventListener('onload', func) и ему подобные, то на странице ничего не происходит, но при этом, когда я пишу, к примеру,...

235