Вы можете (должны) использовать PreparedStatement
для этого.
String SQL = "INSERT INTO tableName (variable1, variable2) VALUES (?, ?)";
Connection connection = null;
PreparedStatement statement = null;
try {
connection = database.getConnection();
statement = connection.prepareStatement(SQL);
statement.setString(1, variable1);
statement.setString(2, variable2);
statement.executeUpdate();
} finally {
if (statement != null) try { statement.close(); } catch (IOException ignore) {}
if (connection != null) try { connection.close(); } catch (IOException ignore) {}
}
If предлагает преимущество, которое дает любая потенциальная SQL-инъекция атак будет исключено, в отличие от использования конкатенации строк, как предлагают другие ответы.
Также обратите внимание, что я немного переписал способ обработки ресурсов.Вышеуказанный способ является стандартной идиомой JDBC.Это гарантирует, что PreparedStatement
также будет закрыт до закрытия Connection
, в противном случае у вас закончатся ресурсы, когда Connection
касается пула соединений.
См. Также: