在互联网上似乎很难找到以这种方式完成此问题的答案。基本上,我正在使用PreparedStatement将值插入到MySQL数据库中。我使用PreparedStatement来转义数据以防止SQL注入攻击。问题是,现在没有办法检索这些键。
String query="Insert INTO Table_A(name, age) (?, ?)";
//String query="Insert INTO Table_A(name, age) ('abc','123' )";//Doesn't escape
PreparedStatement prest;
prest = con.prepareStatement(query);
prest.setString(1,"abc");
prest.setInt(2,123);
prest.executeUpdate();
//prest.executeUpdate(query, PreparedStatement.RETURN_GENERATED_KEYS); Throws an error
//prest.executeQuery(); Throws an error
那么我该如何转义输入并在Java中使用PreparedStatements呢?
RETURN_GENERATED_KEYS
传递给prepareStatement()
调用,并使用executeUpdate()
执行插入操作。如果不起作用,请提供异常信息。 - ZeissS