我有个问题,希望你能回答。
我想在这样的标准jdbc中使用Spring框架
"SELECT usernmae FROM users WHERE username='" + usename + '"我不想用预先准备好的语句。这只是一个示例查询。
发布于 2011-06-23 20:49:02
与任何其他SQL连接机制相比,JDBC更容易受到SQL注入的影响。SQL注入的漏洞落在编写代码的人的手上。JDBC模板提供了一种管理与数据库连接的方法,而不一定保护您不受SQL注入的影响。您仍然能够使用易受SQL注入影响的JDBC模板编写糟糕的代码。
编辑以解决您的问题的更新。您可以这样做,在JDBC模板中有一个简单的查询方法,但是这样做会使您容易受到SQL注入的影响。简单的答案是:总是使用准备好的语句。唯一可以安全地避免使用它们的情况是,在查询中没有包含来自用户的任何输入。然而,即使在那些情况下,你的假设是错误的,或者你的假设会随着时间的推移而改变,你最好还是使用一份预先准备好的声明。总是,总是,总是使用预先准备好的语句。使用它们也有一些性能好处,因为SQL引擎可以缓存编译语句供以后使用,而不必每次都重新编译SQL语句。
https://stackoverflow.com/questions/6460360
复制相似问题