Я бы предложил использовать Statement.executeUpdate метод, поскольку он возвращает целое число. Поэтому после выполнения этого запроса на удаление у вас также будет информация, действительно ли вы удалили какие-либо записи (в этом случае вы ожидаете, что этот метод вернет 1, поскольку вы используете LIMIT = 1). Я бы также предложил закрыть Statement, как только он вам не понадобится, вот реализация скелета:
private void performDelete(Connection conn, String deleteQuery, int expectedResult) throws SQLException {
Statement stmt = conn.createStatement();
int result = -1;
try {
result = stmt.executeUpdate(deleteQuery);
if(result != expectedResult) {
//Here you can check the result. Perhaps you don't need this part
throw new IllegalStateException("Develete query did not return expected value");
}
} catch(SQLException e) {
//Good practice if you use loggers - log it here and rethrow upper.
//Or perhaps you don't need to bother in upper layer if the operation
//was successful or not - in such case, just log it and thats it.
throw e;
} finally {
//This should be always used in conjunction with ReultSets.
//It is not 100% necessary here, but it will not hurt
stmt.close();
}
}