Statement 用于普通的sql查询
CallableStatement 用于存储过程
PreparedStatement 用于预编译的sql语句就是带参数那种
Statement ─ 由方法 createStatement 所创建。Statement 对象用于发送简单的 SQL 语句。
PreparedStatement ─ 由方法 prepareStatement 所创建。PreparedStatement 对象用于发送带有一个或多个输入参数( IN 参数)的 SQL 语句。PreparedStatement 拥有一组方法,用于设置 IN 参数的值。执行语句时,这些 IN 参数将被送到数据库中。PreparedStatement 的实例扩展了 Statement ,因此它们都包括了 Statement 的方法。PreparedStatement 对象有可能比 Statement 对象的效率更高,因为它已被预编译过并存放在那以供将来使用。
CallableStatement ─ 由方法 prepareCall 所创建。CallableStatement 对象用于执行 SQL 储存程序 ─ 一组可通过名称来调用(就象函数的调用那样)的 SQL 语句。CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。
以下所列提供的方法可以快速决定应用哪个 Connection 方法来创建不同类型的 SQL 语句:
createStatement 方法用于:
简单的 SQL 语句(不带参数)
prepareStatement 方法用于:
带一个或多个 IN 参数的 SQL 语句
经常被执行的简单 SQL 语句
prepareCall 方法用于:
调用已储存过程