|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.sql
接口 PreparedStatement
- 所有超级接口:
- Statement
- 所有已知子接口:
- CallableStatement
-
public interface PreparedStatement
- extends Statement
表示预编译的 SQL 语句的对象。
SQL 语句被预编译并且存储在 PreparedStatement
对象中。然后可以使用此对象高效地多次执行该语句。
注:用来设置 IN 参数值的 setter 方法(setShort
、setString
等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER
,那么应该使用 setInt
方法。
如果需要任意参数类型转换,使用 setObject
方法时应该将目标 SQL 类型作为其参数的类型。
在以下设置参数的示例中,con
表示一个活动连接:
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); pstmt.setBigDecimal(1, 153833.00) pstmt.setInt(2, 110592)
字段摘要 |
---|
从接口 java.sql.Statement 继承的字段 |
---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
方法摘要 | |
---|---|
void |
addBatch() 将一组参数添加到此 PreparedStatement 对象的批处理命令中。 |
void |
clearParameters() 立即清除当前参数值。 |
boolean |
execute() 在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。 |
ResultSet |
executeQuery() 在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。 |
int |
executeUpdate() 在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL INSERT 、UPDATE 或 DELETE 语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。 |
ResultSetMetaData |
getMetaData() 检索包含有关 ResultSet 对象的列消息的 ResultSetMetaData 对象,ResultSet 对象将在执行此 PreparedStatement 对象时返回。 |
ParameterMetaData |
getParameterMetaData() 检索此 PreparedStatement 对象的参数的编号、类型和属性。 |
void |
setArray(int i, Array x) 将指定参数设置为给定 Array 对象。 |
void |
setAsciiStream(int parameterIndex, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有给定字节数。 |
void |
setBigDecimal(int parameterIndex, BigDecimal x) 将指定参数设置为给定 java.math.BigDecimal 值。 |
void |
setBinaryStream(int parameterIndex, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有给定字节数。 |
void |
setBlob(int i, Blob x) 将指定参数设置为给定 Blob 对象。 |
void |
setBoolean(int parameterIndex, boolean x) 将指定参数设置为给定 Java boolean 值。 |
void |
setByte(int parameterIndex, byte x) 将指定参数设置为给定 Java byte 值。 |
void |
setBytes(int parameterIndex, byte[] x) 将指定参数设置为给定 Java 字节数组。 |
void |
setCharacterStream(int parameterIndex, Reader reader, int length) 将给定参数设置为给定 Reader 对象,后者是给定的字符数长度。 |
void |
setClob(int i, Clob x) 将指定参数设置为给定 Clob 对象。 |
void |
setDate(int parameterIndex, Date x) 将指定参数设置为给定 java.sql.Date 值。 |
void |
setDate(int parameterIndex, Date x, Calendar cal) 使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。 |
void |
setDouble(int parameterIndex, double x) 将指定参数设置为给定 Java double 值。 |
void |
setFloat(int parameterIndex, float x) 将指定参数设置为给定 Java float 值。 |
void |
setInt(int parameterIndex, int x) 将指定参数设置为给定 Java int 值。 |
void |
setLong(int parameterIndex, long x) 将指定参数设置为给定 Java long 值。 |
void |
setNull(int parameterIndex, int sqlType) 将指定参数设置为 SQL NULL 。 |
void |
setNull(int paramIndex, int sqlType, String typeName) 将指定参数设置为 SQL NULL 。 |
void |
setObject(int parameterIndex, Object x) 使用给定对象设置指定参数的值。 |
void |
setObject(int parameterIndex, Object x, int targetSqlType) 使用给定对象设置指定参数的值。 |
void |
setObject(int parameterIndex, Object x, int targetSqlType, int scale) 使用给定对象设置指定参数的值。 |
void |
setRef(int i, Ref x) 将指定参数设置为给定 REF(<structured-type>) 值。 |
void |
setShort(int parameterIndex, short x) 将指定参数设置为给定 Java short 值。 |
void |
setString(int parameterIndex, String x) 将指定参数设置为给定 Java String 值。 |
void |
setTime(int parameterIndex, Time x) 将指定参数设置为给定 java.sql.Time 值。 |
void |
setTime(int parameterIndex, Time x, Calendar cal) 使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x) 将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) 使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setUnicodeStream(int parameterIndex, InputStream x, int length) 已过时。 |
void |
setURL(int parameterIndex, URL x) 将指定参数设置为给定 java.net.URL 值。 |
方法详细信息 |
---|
executeQuery
ResultSet executeQuery() throws SQLException
-
在此
PreparedStatement
对象中执行 SQL 查询,并返回该查询生成的ResultSet
对象。 -
-
- 返回:
-
包含该查询生成的数据的
ResultSet
对象;从不返回null
- 抛出:
-
SQLException
- 如果发生数据库访问错误或者 SQL 语句没有返回一个ResultSet
对象
executeUpdate
int executeUpdate() throws SQLException
-
在此
PreparedStatement
对象中执行 SQL 语句,该语句必须是一个 SQLINSERT
、UPDATE
或DELETE
语句;或者是一个什么都不返回的 SQL 语句,比如 DDL 语句。 -
-
- 返回:
-
(1) 对于
INSERT
、UPDATE
或DELETE
语句,返回行数 (2) 或者对于什么都不返回的 SQL 语句,返回 0 - 抛出:
-
SQLException
- 如果发生数据库访问错误或者 SQL 语句返回一个ResultSet
对象
setNull
void setNull(int parameterIndex, int sqlType) throws SQLException
-
将指定参数设置为 SQL
NULL
。注:必须指定参数的 SQL 类型。
-
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。 -
sqlType
-java.sql.Types
中定义的 SQL 类型码 - 抛出:
-
SQLException
- 如果发生数据库访问错误
setBoolean
void setBoolean(int parameterIndex, boolean x) throws SQLException
-
将指定参数设置为给定 Java
boolean
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQLBIT
值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。 -
x
- 参数值 - 抛出:
-
SQLException
- 如果发生数据库访问错误
setByte
void setByte(int parameterIndex, byte x) throws SQLException
-
将指定参数设置为给定 Java
byte
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQLTINYINT
值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。 -
x
- 参数值 - 抛出:
-
SQLException
- 如果发生数据库访问错误
setShort
void setShort(int parameterIndex, short x) throws SQLException
-
将指定参数设置为给定 Java
short
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQLSMALLINT
值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。 -
x
- 参数值 - 抛出:
-
SQLException
- 如果发生数据库访问错误
setInt
void setInt(int parameterIndex, int x) throws SQLException
-
将指定参数设置为给定 Java
int
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQLINTEGER
值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。 -
x
- 参数值 - 抛出:
-
SQLException
- 如果发生数据库访问错误