Подключаюсь к базе c помощью jdbc. Хотел бы создать в SQL запросе переменную, которую потом можно было бы подставлять в основную логику программы на Java. Как это можно реализовать.
Вам нужно использовать PreparedStatement. Вот пример из JavaDoc
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
Вот так устанавливайте соединение:
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,
);
Продвижение своими сайтами как стратегия роста и независимости