JDBC - Statement,PreparedStatement,CallableStatement和缓存

Jac*_*ski 8 java mysql sql postgresql jdbc

我想知道有什么区别,何时使用Statement,PreparedStatementCallableStatement.

使用这些方法的最佳实践和典型方案是什么?

mpr*_*hat 7

声明与PreparedStatement

  1. PreparedStatement可以提高性能,但与数据库有关.

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

  3. 使用setInt更好地键入prepareStatement类型,setString where where语句,你只是继续附加到主SQL.

类似帖子:

Statement和PreparedStatement之间的区别

CallableStatement - 跨所有数据库访问StoredProcedures的Java答案.

类似的帖子

CallableStatement vs Statement

使用PreparedStatement和Callable你已经有了缓存,缓存也是一个很大的话题,你不想做所有这些而是看看ehcache

您应该几乎总是更喜欢PreparedStatement而不是Statement

如果你必须在StoredProcedure上操作,你只有一个选项CallableStatement.