java.sql.PreparedStatement
java.sql.PreparedStatement是预处理语句接口。
| 
       方法名  | 
     
       返回值类型  | 
     
       支持JDBC4  | 
     
       支持计划外ALT  | 
    
|---|---|---|---|
| 
       clearParameters()  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       execute()  | 
     
       boolean  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       executeQuery()  | 
     
       ResultSet  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       excuteUpdate()  | 
     
       int  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       executeLargeUpdate()  | 
     
       long  | 
     
       No  | 
     
       Yes  | 
    
| 
       getMetaData()  | 
     
       ResultSetMetaData  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       getParameterMetaData()  | 
     
       ParameterMetaData  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setArray(int parameterIndex, Array x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setAsciiStream(int parameterIndex, InputStream x, int length)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setBinaryStream(int parameterIndex, InputStream x)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setBinaryStream(int parameterIndex, InputStream x, int length)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setBinaryStream(int parameterIndex, InputStream x, long length)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setBlob(int parameterIndex, InputStream inputStream)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setBlob(int parameterIndex, InputStream inputStream, long length)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setBlob(int parameterIndex, Blob x)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setCharacterStream(int parameterIndex, Reader reader)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setCharacterStream(int parameterIndex, Reader reader, int length)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setClob(int parameterIndex, Reader reader)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setClob(int parameterIndex, Reader reader, long length)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setClob(int parameterIndex, Clob x)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setDate(int parameterIndex, Date x, Calendar cal)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setNull(int parameterIndex, int sqlType)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setNull(int parameterIndex, int sqlType, String typeName)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setObject(int parameterIndex, Object x)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setObject(int parameterIndex, Object x, int targetSqlType)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)  | 
     
       void  | 
     
       Yes  | 
     
       No  | 
    
| 
       setSQLXML(int parameterIndex, SQLXML xmlObject)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setTime(int parameterIndex, Time x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setTime(int parameterIndex, Time x, Calendar cal)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setTimestamp(int parameterIndex, Timestamp x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setTimestamp(int parameterIndex, Timestamp x, Calendar cal)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setUnicodeStream(int parameterIndex, InputStream x, int length)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setURL(int parameterIndex, URL x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setBoolean(int parameterIndex, boolean x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setBigDecimal(int parameterIndex, BigDecimal x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setByte(int parameterIndex, byte x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setBytes(int parameterIndex, byte[] x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setDate(int parameterIndex, Date x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setDouble(int parameterIndex, double x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setFloat(int parameterIndex, float x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setInt(int parameterIndex, int x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setLong(int parameterIndex, long x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setShort(int parameterIndex, short x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setString(int parameterIndex, String x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       setNString(int parameterIndex, String x)  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       addBatch()  | 
     
       void  | 
     
       Yes  | 
     
       Yes  | 
    
| 
       executeBatch()  | 
     
       int[]  | 
     
       Yes  | 
     
       Yes  | 
    
 
  - addBatch()、execute()必须在clearBatch()之后才能执行。
 - 调用executeBatch()方法并不会清除batch。用户必须显式使用clearBatch()清除。
 - 在添加了一个batch的绑定变量后,用户若想重用这些值(再次添加一个batch),无需再次使用set*()方法。
 - 以下方法是从java.sql.Statement继承而来:close、execute、executeQuery、executeUpdate、getConnection、getResultSet、getUpdateCount、isClosed、setMaxRows、setFetchSize、enableStreamingResults。
 - executeLargeUpdate()方法必须在JDBC4.2及以上版本使用。
 - 当提交模式为autocommit时,执行executeBatch前如果驱动JDBC侧将 batchMode设置为OFF,executeBatch会将整个batch展开为单独事务执行,等同于批量语句内部包含commit或者abort,执行后不支持ALT重放。