与Statement相比,使用Preparedstatement是否有任何缺点

时间:2015-08-02 05:01:54

标签: java jdbc prepared-statement

我在JDBC中使用Statement和PreparedStatement之间的差异,并且与Statement相比,在PreparedStatement中看到了许多优势herehere

我的一些同事问我们为什么仍然需要声明,以及为什么不看待PreparedStatement的优势。

那么我们还有什么理由在JDBC API中使用Statement吗?

2 个答案:

答案 0 :(得分:2)

PreparedStatement用于处理动态SQL查询,其中Statement用于处理静态SQL查询。

答案 1 :(得分:0)

  

那么我们还有什么理由在JDBC API中使用Statement吗?

是的,因为它位于SQL客户端 - 服务器API中。如果要删除未准备好的语句,那么JDBC中将缺少SQL的一个特性。

如其他答案中所提到的,如果没有动态参数,PreparedStatement没有任何优势。对于这些情况,使用未准备好的声明会稍微简洁一些。

完全不受这些问题影响的事实是PreparedStatement是Statement的Suber接口,因此如果不重新设计API就不能删除后者。这更多地与Java API有关,而与SQL无关。