共同点

都是数据库执行的方法,用来发送要执行的sql语句

不同点

Statement 对象用于执行不带参数的简单 SQL 语句,PreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句。PreparedStatement 实例包含已编译的SQL语句,他的sql语句可以带参数,也可不带.

使用场景

对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是比较好的.PreparedStatement的第一次执行消耗是很高的. 它的性能体现在后面的重复执行.另外,参数化查询的方式也在一定程度上防止了sql注入,使得系统安全性能方面有了一定的保证。