• 沒有找到結果。

Java.sql.PreparedStatement 接口

在文檔中 JDBC API 数据库编程实作教程 (頁 109-114)

5.1 Java 接口

5.1.5 Java.sql.PreparedStatement 接口

public abstract Boolean acceptsURL String URL throws SQLException

其中参数 url 表示需要创建连接的数据库的 URL 地址 该方法用于判断给定的 URL 是否是合法 即判断驱动程序能否使用该URL 地址创建与数据库的连接 如果驱动程序认 同指定URL 是一个合法地址 则会返回 true 否则返回 false

3 getPropertyInfo

public abstract DriverPropertyInfo[] getPropertyInfo String URL Properties info throws SQLException 参数意义分别如下

url 字符串类型 需要创建连接的数据库的 URL 地址

Info Properties 类型 表示创建连接需要的辅助参数 通常是访问数据库需要的用户 名和口令 如包括一个或多个 user 和 password

该方法用于获得与指定 URL 建立连接需要哪些属性的信息 需要注意的是 除了用 户已经提供的属性值外 可能还会需要其他的附加属性值 因此在必要时可重复多次调用 getPropertyInfo 方法 返回值是一个 DriverPropertyInfo 数组 保存了建立连接需要的属性 名称及其相应的值 如果没有属性要求 则返回空数组

4 getMajorVersion

public abstract int getMajorVersion throws SQLException 该方法用于获得驱动程序的主要版本号

5 getMinorVersion

public abstract int getMinorVersion throws SQLException 该方法用于获得驱动程序的辅助版本号

6 jdbcCompliant

public abstract boolean jdbcCompliant

该方法用于判断驱动程序是否是真正的JDBC 兼容的驱动程序 返回值为 true 表示驱 动程序通过了JDBC 测试 否则返回 false JDBC 兼容的驱动程序要求充分支持 JDBC API 和SQL 92 Entry Level

5.1.5 Java.sql.PreparedStatement 接口

在使用Statement 对象时 因为每次执行查询时都需要将 SQL 语句传递给数据库 当 多次执行同一查询语句时 将会影响其效率 在需要多次执行相同查询语句时 可以使用 PreparedStatement 对象 如果数据库支持预编译 PreparedStatement 对象可将 SQL 语句传 递给数据库进行预编译 以后执行相同的SQL 语句时 可以直接执行预编译好的语句 这 样可提高查询速度 如果数据库不支持预编译 PreparedStatement 对象则和 Statement 对象 一样 在语句执行时才会传递给数据库

PreparedStatement 对象一个突出的特点是可以接收查询参数 在准备好的 SQL 语句中

指出需要的参数 再将该语句传递给数据库进行预编译 这样可得到较高的性能

PrepareStatement 类实际上是从 Statement 类派生而来的 因此 PreparedStatement 对象可以



直接使用Statement 类的方法 1 接口定义

public interface PreparedStatement extends Statement{ } 2 方法定义

1 executeQuery

public abstract ResultSet executeQuery throws SQLException

该方法用于执行一个已经预编译好的SQL 查询语句 返回值为一个结果集 2 executeUpdate

public abstract int executeUpdate throws SQLException

该方法用于执行SQL 的 INSERT UPDATE 和 DELETE 语句 另外也可以执行不返 回任何结果的SQL DDL 数据定义语句 操作 返回值是 INSET UPDATE 和 DELETE 操作影响的列数 而对于不返回结果的SQL 语句 则返回 0

3 SetNull

public abstract void setNull int parameterIndex int sqlType throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 SqlType int 类型 代表 java.sql.Types 中定义的类型码 该方法用于将指定参数设置为SQL NULL 类型

4 setBoolean

public abstract void setBoolean int parameterIndex boolean x throws SQLException 参数意义如下

public abstract viod setByte int parameterIndex byte x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x byte 类型

该方法用于将指定参数设置为Java 的 Byte 字节 类型 当将此参数发送给数据库时 驱动程序会将其转换成SQL TINYINT 值

6 setShort

public abstract viod setShort int parameterIndex short x throws SQLException 参数意义如下



public abstract void setInt int parameterIndex int x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x int 类型

该方法用于将指定参数设置为Java 的 Int 整数 类型 当将此参数发送给数据库时 驱动程序会将其转换为SQL INTEGER 值

8 setLong

public abstract void setLong int parameterIndex long x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x long 类型

该方法用于将指定参数设置为Java 的 Long 长整数 类型 当将此参数发送给数据 库时 驱动程序会将其转换为SQL BIGINT 值

9 setFloat

public abstract void setFloat int parameterIndex Float x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x Float 类型

该方法用于将指定参数设置为 Java 的 Float 浮点数 类型 当将此参数发送给数据 库时 驱动程序会将其转换为SQL Float 值

10 setDouble

public abstract void setDouble int parameterIndex Double x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x Double 类型

该方法用于将指定参数设置为Java 的 Double 双精度浮点数 类型 当将此参数发 送给数据库时 驱动程序会将其转换为SQL Double 值

11 setNumeric

public abstract void setNumeric int parameterIndex Numeric x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x Numeric 类型

该方法用于将指定参数设置为Java 的 Java.sql.Numeric 类型 当将此参数发送给数据 库时 驱动程序会将其转换为SQL Numeric 值

12 setString

public abstract void setString int parameterIndex String x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x String 类型



该方法用于将指定参数设置为Java 的 String 字符串 类型 当将此参数发送给数据 库时 驱动程序会将其转换为SQL VARCHAR 或 LONGVARCHAR 值

13 setBytes

public abstract void setBytes int parameterIndex byte[] x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x byte 类型的数组

该方法用于将指定参数设置为Java 的 byte 字节数组 类型 当将此参数发送给数据 库时 驱动程序会将其转换为SQL VARBINARY 或 LONGVARCHAR 值

14 setDate

public abstract void setDate int parameterIndex Date x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x java.sql. Date 类型

该方法用于将指定参数设置为Java 的 java.sql. Date 类型 当将此参数发送给数据库时 驱动程序会将其转换为SQL Date 值

15 setTime

public abstract void setTime int parameterIndex Time x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x byte 类型

该方法用于将指定参数设置为Java 的 java.sql. Time 类型 当将此参数发送给数据库时 驱动程序会将其转换为SQL Time 值

16 setTimestamp

public abstract void setTimestamp int parameterIndex Numeric x throws SQLException 参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x byte 类型

该方法用于将指定参数设置为Java 的 java.sql. Timestamp 类型 当将此参数发送给数 据库时 驱动程序会将其转换为SQL Timestamp 值

17 setAsciiStream

public abstract void setAsciiStream int parameterIndex InputStream x int length throws SQLException

参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x InputStream 类型 输入流

length int 类型 代表流中的字节数

该方法用于将指定参数设置为Java 的 java.io.InputStream 类型 当将此参数发送给数 据库时 驱动程序会将输入流中的ASCII 码值转换为 SQL 的 LONGVARCHAR 型的值

18 setUnicodeStream



public abstract void setUnicodeStream int parameterIndex InputStream x int length throws SQLException

参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x InputStream 类型 输入流

length int 类型 代表流中的字节数

该方法用于将指定参数设置为Java 的 java.io.InputStream 类型 当将此参数发送给数 据库时 驱动程序会将输入流中的Unicode 码值转换为 SQL 的 LONGVARCHAR 型的值

19 setBinaryStream

public abstract void setBinaryStream int parameterIndex InputStream x int length throws SQLException

参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x InputStream 类型 输入流

length int 类型 代表流中的字节数

该方法用于将指定参数设置为Java 的 java.io.InputStream 类型 当将此参数发送给数 据库时 驱动程序会将输入流中的Binary 码值转换为 SQL 的 LONGVARCHAR 型的值

20 clearParameters

public abstract viod clearParameters throws SQLException 该方法用于立即释放当前参数值所使用的资源

21 setObject

public abstract void setObject int parameterIndex Object x int targetSqlType int scale throws SQLException

参数意义如下

parameterIndex int 类型 表示 SQL 语句中的 IN 参数的序号 x Object 类型 代表输入参数对象

targetSqlType int 类型 代表要发送到数据库的 SQL 类型

scale 对于 java.sql.types.DECIMAL 或是 java.sql.types.NUMERIC 类型 表示小数点 后的位数 即标度值 对于其他类型可以忽略该值

该方法用于将指定参数设置为Java 的 Object 类型 当将此参数发送给数据库时 驱动 程序会将给定的Java 对象转换成 java.sql.types.Other 类型的值

22 setObject

public abstract void setObject int parameterIndex Object x int targetSqlType throws SQLException

该方法与上面的方法类似 只是默认scale 值为 0 23 setObject

public abstract void setObject int parameterIndex Object x throws SQLException 该方法与上一个方法类似

24 execute



public abstract boolean execute throws SQLException

该方法可以像executeQuery 和 executeUpdate 一样处理单个语句 还可以处理可以返 回多个结果的预编译语句

在文檔中 JDBC API 数据库编程实作教程 (頁 109-114)