[英]Java - How to use the string.format() to replace any string concatenation within a Sql statement creation?
我将如何使用string.format()在此Java / SQL代码中省略+字符串串联+。
String sql = "SELECT * FROM "+p_tableName+" WHERE 1 = 0";
String sql = String.format("SELECT * FROM %s WHERE 1 = 0", p_tableName);
这样制作SQL语句时请务必小心,因为它们很容易在SQL注入攻击中对您使用。
You can use String.format("SELECT * FROM %s WHERE 1 = 0", table_name)
. 您可以使用String.format("SELECT * FROM %s WHERE 1 = 0", table_name)
。 But, I strongly advise you to use PreparedStatement
instead (See How do I make a prepared statement? , https://stackoverflow.com/a/396765/130224 , PreparedStatements and performance , and Using Prepared Statements ). 但是,我强烈建议您改用PreparedStatement
(请参阅我如何制作一个准备好的语句? , https : //stackoverflow.com/a/396765/130224、PreparedStatements和性能以及使用准备 好的语句 )。 PreparedStatement
yields higher performance and security. PreparedStatement
产生更高的性能和安全性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.