简体   繁体   English

Java-如何使用string.format()替换Sql语句创建过程中的任何字符串连接?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM