JDBC-语句,PreparedStatement,CallableStatement和缓存


问题内容

我想知道有什么区别,何时使用StatementPreparedStatementCallableStatement

每种方法的最佳实践和典型方案是什么?


问题答案:

声明与PreparedStatement

  1. 使用PreparedStatement可以提高性能,但它取决于数据库。

  2. 使用PreparedStatement可以避免SQL注入。PreparedStatement如何避免或阻止SQL注入?

  3. 使用setInt,setString和prepareStatement更好地进行类型检查,其中,您只需保持附加到主SQL的语句即可。

类似帖子:

声明和PreparedStatement之间的区别

CallableStatement-Java答案,用于跨所有数据库访问StoredProcedures。

类似帖子

有了PreparedStatement和Callable,您已经有了缓存,缓存本身也是一个大话题,您不想做所有这些,而是​​看ehcache

您几乎总是应该首选PreparedStatement而不是Statement

如果必须对StoredProcedure进行操作,则只有一个选项CallableStatement。