在MySQL查询Java中使用撇号

时间:2014-01-11 02:55:36

标签: java mysql

所以我遇到了MySQL的一些问题。我有一项服务,允许管理员禁止用户,并给出禁止他们的理由。这个服务完全用java编写...虽然我可以使用PhP服务器并使用MySQL功能来解决这个问题...我觉得我想把我所有的MySQL功能都保存在一个环境中。

问题在于能够提供理由,通常管理员会给出一个“你被禁止的事情:Griefing Bob的城堡”(或类似的东西)。注意到,'导致问题,因为那些用于表示MySQL中的字符串。

Java环境中是否有任何解决方案?

1 个答案:

答案 0 :(得分:0)

最简单的解决方案可能是Commons Lang StringEscapeUtils.escapeSql(String)。另一个解决方案是使用PreparedStatement并绑定参数(有些人更喜欢第二个选项,因为通常更好地扩展并且性能更快)。

// From the JavaDoc on PreparedStatement
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES "
                                 + "SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)