在java中清理String

Dee*_*pak 9 java string

是否有任何函数或库可用于清理用户输入.例如,如果用户输入一个调用的文本,baily's那么我应该'在将其发送到mysql查询之前将其转义.类似地,我应该能够过滤空字符和\n,\ t,\ r \n等.就像在PHP中我们mysql_real_escape_string($input)有什么用Java来做这个吗?

Joa*_*uer 11

在Java中,您通常不会手动执行此操作.

相反,您将使用a PreparedStatement并通过显式setString()setObject()方法将任何参数传递给SQL语句.

这样JDBC驱动程序将处理它(通过执行必要的转义或通过从参数单独发送SQL语句,具体取决于数据库).

例如,您的代码可能看起来像(使用prepareStatement()):

Connection c = ...; // get Connection from somehwere
PreparedStatement stmt = c.prepareStatement("SELECT * FROM BOOKS WHERE TITLE = ?");
stmt.setString(1, userInput);
ResultSet result = stmt.executeQuery();
Run Code Online (Sandbox Code Playgroud)