关于JDBC中 Statement 和 PreparedStatement的区别

在jdbc中有四大对象,分别是 数据库连接对象Connection,SQL执行对象 Statement  和 PreparedStatement,结果集对象ResultSet。

关于 Statement  和 PreparedStatement,这两者的区别如下:

Statement :

  ①   执行静态SQL语句,执行每一条语句之前都要发送给数据库进行编译,当数据量非常大的时候,效率就很低,造成性能问题;

  ②   而且SQL语句中有参数的时候,需要进行字符串拼接,有SQL注入风险。

PreparedStatement:

  ①  执行动态SQL语句,可以把SQL语句一起发送给数据库进行预编译,今后再次执行的时候不需要二次编译,提高了执行效率;

  ②  执行有参的SQL语句可以使用占位符,有效避免SQL注入,安全性高,并且代码的可读性也提高了

 

posted @ 2020-04-23 14:46  明月_清风  阅读(277)  评论(0编辑  收藏  举报