
# java.sql.PreparedStatement
java.sql.PreparedStatement是预处理语句接口。
表1对java.sql.PreparedStatement的支持情况 
| 方法名                                             | 返回值类型             | 支持JDBC 4 |
|:---|:---|:---|
| clearParameters()                               | void              | Yes      |
| execute()                                       | boolean           | Yes      |
| executeQuery()                                  | ResultSet         | Yes      |
| executeUpdate()                                 | int               | Yes      |
| getMetaData()                                   | ResultSetMetaData | Yes      |
| setBoolean(int parameterIndex, boolean x)       | void              | Yes      |
| setBigDecimal(int parameterIndex, BigDecimal x) | void              | Yes      |
| setByte(int parameterIndex, byte x)             | void              | Yes      |
| setBytes(int parameterIndex, byte\[\] x)        | void              | Yes      |
| setDate(int parameterIndex, Date x)             | void              | Yes      |
| setDouble(int parameterIndex, double x)         | void              | Yes      |
| setFloat(int parameterIndex, float x)           | void              | Yes      |
| setInt(int parameterIndex, int x)               | void              | Yes      |
| setLong(int parameterIndex, long x)             | void              | Yes      |
| setNString(int parameterIndex, String value)    | void              | Yes      |
| setShort(int parameterIndex, short x)           | void              | Yes      |
| setString(int parameterIndex, String x)         | void              | Yes      |
| addBatch()                                      | void              | Yes      |
| executeBatch()                                  | int\[\]           | Yes      |
| clearBatch()                                    | void              | Yes      |
   
![](https://support.huaweicloud.com/devg-fabric/public_sys-resources/note_3.0-zh-cn.png)
- addBatch()、execute()必须在clearBatch()之后才能执行。
- 调用executeBatch()方法并不会清除batch。用户必须显式使用clearBatch()清除 。
- 在添加了一个batch的绑定变量后，用户如果想重用这些值(再次添加一个batch)，无需再次使用set\*()方法 。
- 以下方法是从java.sql.Statement继承而来：close，execute，executeQuery，executeUpdate，getConnection，getResultSet，getUpdateCount，isClosed，setMaxRows, setFetchSize。
 
