JDBC的PreparedStatement是什么?
PreparedStatement对象代表的是一个预编译的SQL语句。
用它提供的setter方法可以传入查询的变量。由于
PreparedStatement是预编译的,通过它可以将对应的SQL语句高效的执行多次。
由于PreparedStatement自动对特殊字符转义,避免了SQL注入攻击,因此应当尽量的使用它。
相对于Statement,PreparedStatement的优点是什么?
1、PreparedStatement有助于防止SQL注入,因为它会自动对特殊字符转义。
2、PreparedStatement可以用来进行动态查询。
3、PreparedStatement执行更快。尤其当你重用它或者使用它的拼量查询接口执行多条语句时。
4、使用PreparedStatement的setter方法更容易写出面向对象的代码,而Statement的话,我们得拼接字符串来生成查询语句。
如果参数太多了,字符串拼接看起来会非常丑陋并且容易出错。