PreparedStatement を使用します 。このように、プレースホルダーを指定すると、JDBCドライバーは、データベースにステートメントとパラメーターを引数として送信することにより、これを正しく実行します。
String updateStatement =
"update " + dbName + ".COFFEES " +
"set TOTAL = TOTAL + ? " +
"where COF_NAME = ?";
PreparedStatement updateTotal = con.prepareStatement(updateStatement);
updateTotal.setInt(1, e.getValue().intValue());
updateTotal.setString(2, e.getKey());
上記の疑問符はプレースホルダーを表しています。
これらの値はパラメーターとして渡されるため、引用符で問題が発生することはなく、SQLから保護されます。インジェクション