当前位置:网站首页>金仓数据库KingbaseES客户端编程接口指南-JDBC(4. JDBC 创建语句对象)
金仓数据库KingbaseES客户端编程接口指南-JDBC(4. JDBC 创建语句对象)
2022-07-29 11:56:00 【沉舟侧畔千帆过_】
4. JDBC 创建语句对象
连接一旦建立,就可向数据库传送 SQL 语句,而且对可被发送的 SQL 语句类型不加任何限制,它允许使用特定的数据库语句。
KingbaseES JDBC 提供了三个类,用于向数据库发送 SQL 语句,Connection 接口中的三个方法可用于创建这些类的实例:
Statement 对象:由方法 createStatement 所创建,用于发送简单的 SQL 语句。
PreparedStatement 对象:由方法 prepareStatement 所创建,用于发送带有一个或多个输入参数(IN 参数)的 SQL 语句。
CallableStatement 对象:由方法 prepareCall 所创建,用于执行 SQL 存储过程。
4.1. Statement 对象
Statement 对象由方法 createStatement 所创建,Statement 对象用于发送简单的 SQL 语句,来进行查询或对数据库进行更新,Statement 对象提供三种方法执行 SQL 语句:
execute 方法用于执行返回多个结果集或更新多个元组的 SQL 语句;
executeQuery 方法用于执行返回单个结果集的 SQL 语句;
executeUpdate 方法用于执行含有 INSERT、UPDATE 或 DELETE 语句或者不返回任何内容的 SQL 语句,如 DDL 语句。
例 4-1. Statement对象的使用
Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement stmt=conn.createStatement(); stmt.executeUpdate("update table1 set col1=1");
支持 SQL 语句的批处理功能。Statement 和它的子类通过 addBatch() 方法支持批处理功能。
支持 getGeneratedKeys()方法:
当使用方法 executeUpdate(String sql,int autoGeneratedKeys)、execute(String sql,int autoGeneratedKeys) 时,调用 getGeneratedKeys(),返回只由 OID 一列构成的结果集。
当使用方法 executeUpdate(String sql,int[] keyColumnIndexes)、executeUpdate(String sql, String[] keyColumnNames)、execute(String sql,int[] keyColumnIndexes), execute(String sql, String[] keyColumnNames) 时,调用 getGeneratedKeys(),返回由指定列构成的结果集(默认不包含 OID)。
例 4-2. executeUpdate(String sql,int autoGeneratedKeys)示例
Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement stmt = conn.createStatement(); /* 指定返回GeneratedKey */ int rows = stmt.executeUpdate("INSERT INTO ORDERS (ISBN, CUSTOMERID) " + "VALUES(195123018, 'BILLING')", Statement.RETURN_GENERATED_KEYS); System.out.println("rows:" + rows); ResultSet rs = stmt.getGeneratedKeys(); boolean b = rs.next(); if(b == true) { /* 获取返回的GeneratedKey的值 */ System.out.println(rs.getString(1)); }
例 4-3. execute(String sql,int autoGeneratedKeys)示例
Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement stmt = conn.createStatement(); /* 指定返回GeneratedKey */ boolean result = stmt.execute("INSERT INTO ORDERS (ISBN, CUSTOMERID) " + "VALUES(195123018, 'BILLING')", Statement.RETURN_GENERATED_KEYS); /* result的值为:false */ System.out.println("result:" + result); ResultSet rs = stmt.getGeneratedKeys(); boolean b = rs.next(); if(b == true) { /* 获取返回的GeneratedKey的值 */ System.out.println(rs.getString(1)); }
例 4-4 executeUpdate(String sql, String[] keyColumnNames)示例
String keyColumn[] = {"ORDER_ID"}; Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement stmt = conn.createStatement(); /* 指定返回GeneratedKey */ int rows = stmt.executeUpdate("INSERT INTO ORDERS (ISBN, CUSTOMERID) " + "VALUES(195123020, 'BILLING')", keyColumn); /* rows的值为:1 */ System.out.println("rows:" + rows); ResultSet rs = stmt.getGeneratedKeys(); boolean b = rs.next(); if(b == true) { /* 获取返回的GeneratedKey的值 */ System.out.println(rs.getString(1)); }
例 4-5. execute(String sql, String[] keyColumnNames)示例
String keyColumn[] = {"ORDER_ID"}; Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement stmt = conn.createStatement(); /* 指定返回GeneratedKey */ boolean result = stmt.execute("INSERT INTO ORDERS (ISBN, CUSTOMERID) " + "VALUES (195123020, 'BILLING')", keyColumn); /* result的值为:false */ System.out.println("result:" + result); ResultSet rs = stmt.getGeneratedKeys(); boolean b = rs.next(); if (b == true) { /* 获取返回的GeneratedKey的值 */ System.out.println(rs.getString(1)); }
例 4-6 通过 addBatch()方法实现批处理
Statement stmt = conn.createStatement(); Employee[] employees = new Employee[2]; employees[0] = new Employee(); employees[1] = new Employee(); employees[0].salary = 100; employees[0].id = 1; employees[1].salary = 200; employees[1].id = 2; int[] rows; for(int i=0; i<employees.length;i++) { stmt.addBatch("UPDATE EMPLOYEES SET SALARY=" + employees[i].salary + " WHERE ID=" + employees[i].id); } rows = stmt.executeBatch();
4.2. PreparedStatement 对象
数据库服务器在处理 SQL 语句时都是首先生成该语句的执行计划,然后执行。对于有些应用需要反复处理具有相同执行计划的语句,就会浪费处理资源,这时就可以使用 PreparedStatement 对象,这样,数据库服务器可以提前取得 SQL 语句,并为它创建查询计划,以后该语句就可以多次执行。
PreparedStatement 对象由方法 prepareStatement 所创建,用于发送带有一个或多个输入参数(IN 参数)的 SQL 语句。
PreparedStatement 对象具有一组 setXXX()方法,用于设置 IN 参数的值。执行语句时,这些 IN 参数将被送到数据库中。
KbPreparedStatement 对象具有一组的 setXXXAtName()方法, 可以通过参数名来设置 IN 参数的值。支持相同参数名只设置一次。
处理一个带参数的 SQL 语句通常包括以下过程:
生成一个 PreparedStatement 对象,对语句进行预编译。
设置参数。
执行语句,获取结果。
例 4-7. PreparedStatement 对象的使用
Connection conn = DriverManager.getConnection(url, "system", "manager"); PreparedStatement pstmt = conn.prepareStatement( "UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); int i; for (i = 0; i < employee.length; i++) { pstmt.setBigDecimal(1, employee[i].salary); pstmt.setInt(2, employee[i].id); pstmt.executeUpdate(); }
例 4-8. 通过 PreparedStatement 对象实现批处理
PreparedStatement pstmt = conn.prepareStatement( "UPDATE EMPLOYEES SET SALARY=? WHERE ID= ?"); int[] rows; for(int i=0; i<employee.length;i++) { pstmt.setBigDecimal(1,employee[i].salary); pstmt.setInt(2, employee[i].id); pstmt.addBatch(); } rows = pstmt.executeBatch();
例 4-9. getParameterMetaData()方法
要获取参数的元数据信息可以调用 PreparedStatement 类的 getParameterMetaData()方法来实现,如:
ParameterMetaData pmd = pstmt.getParameterMetaData();
String sql = "INSERT INTO EMPLOYEES(ID, SALARY) VALUES(?, ?)"; pstmt = con.prepareStatement(sql); /* 获取参数信息 */ java.sql.ParameterMetaData pmd = pstmt.getParameterMetaData(); /* 获得参数个数 */ int parameterCount = pmd.getParameterCount(); /* 获取 PreparedStatement * 对象中的参数的数量, * parameterCount 值为:2 */
4.3. CallableStatement对象
JDBC3.0 提供了对调用数据库中存储过程的支持,用户可以在高级语言中使用服务器端的存储过程。CallableStatement 对象由方法 prepareCall 所创建,用于执行存储过程。
CallableStatement 对象从 PreparedStatement 中继承了用于处理 IN 参数的方法,而且还增加了用于处理 OUT 参数和 INOUT 参数的方法。
CallableStatement 对象由方法 prepareCall 所创建,用于发送带有一个或多个输入参数(IN 参数)和输出参数(OUT 参数)或输入输出参数(INOUT 参数)的 SQL 语句。
CallableStatement 对象继承了 PreparedStatement 的 setXXX()方法,用于设置 IN 参数的值。在执行语句前必须用 CallableStatement 的特有方法 registerOutParameter()对 OUT/INOUT 参数进行注册,语句执行之后,可以用 getXXX()方法获取参数值。 以上3类设置和取值的方法,包含按索引和按参数名两种方式。
同时 KbCallableStatement 对象继承了 KbPreparedStatement 的 setXXXAtName()方法,可用于按参数名设置 IN 参数的值。实现了 registerOutParameterAtName()方法用于按参数名对 OUT/INOUT参数进行注册, 语句执行之后,取值时使用getXXX(int)方法获取参数值。
注意
a.对于INOUT参数必须同时调用setXXX()和registerOutParameter() 方法,否则数据库端无法正常识别参数,会抛出异常。
b.对于{[?=]call XXX([?,?,?...])}格式的函数的调用, 使用标准接口的按参数名绑定时,必须是所有参数都是待绑定的。
c.对于匿名块的调用,使用私有接口的按参数名绑定,如果含有 同名参数且该参数为INOUT参数,执行不会报错但执行结果不正确。
d.标准接口按参数名绑定,绑定时参数不区分大小写。私有接口按 参数名绑定,绑定时参数名区分大小写。
e.按索引绑定、标准接口按参数名绑定、私有接口按参数名绑定, 三种绑定方式不可混用。
处理一个存储过程的 SQL 语句通常包括以下过程:
生成一个 CallableStatement 对象,对语句进行预编译。
提取参数信息。
设置参数。
注册输出参数。
执行语句。
获取输出参数的返回值。
要获取参数的元数据信息可以直接使用从 PreparedStatement 类继承的 getParameterMetaData()方法来实现如:
ParameterMetaData pmd=cstmt.getParameterMetaData();
例 4-10. CallableStatement类的使用
Connection conn = DriverManager.getConnection(url, "system", "manager"); Statement statement = conn.createStatement(); /* 存储过程语句,该语句需在oracle兼容模式下执行 */ String sql = "create or replace procedure procName (inout id int," + " in name char(20), out salary float) as " + "begin " + "select number into id from callable " + "where number = id and xm = name;" + "select gz into salary from callable " + "where number = id and xm = name;" + "end;"; /* 执行语句,创建 CallableStatement 对象 */ statement.execute(sql); CallableStatement cstmt = conn.prepareCall("{call procName(?,?,?)}"); /* 参数1为INOUT类型,参数2为IN类型,参数3为OUT类型 */ /* 注册输出参数 */ cstmt.registerOutParameter(1,Types.INTEGER); cstmt.registerOutParameter(3,Types.REAL); /* 设置输入参数 */ cstmt.setInt(1,5); cstmt.setString(2, "a2"); /* 获取参数信息 */ ParameterMetaData pmd=cstmt.getParameterMetaData(); /* 执行语句 */ cstmt.execute(); /* 获取输出参数值 */ int intValue=cstmt.getInt(1); float floatValue=cstmt.getFloat(3); /* 标准接口按参数名绑定 */ CallableStatement cstmt2 = conn.prepareCall("{call procName(?,?,?)}"); /* 参数1为INOUT类型,参数2为IN类型,参数3为OUT类型 */ /* 注册输出参数 */ cstmt2.registerOutParameter("id",Types.INTEGER); cstmt2.registerOutParameter("salary",Types.REAL); /* 设置输入参数 */ cstmt2.setInt("id",5); cstmt2.setString("name", "a2"); /* 执行语句 */ cstmt2.execute(); /* 获取输出参数值 */ int intValue=cstmt2.getInt("id"); float floatValue=cstmt2.getFloat("salary"); /* 私有接口按参数名绑定 */ KbCallableStatement cstmt3 = (KbCallableStatement)conn.prepareCall( "{call procName(:id,:name,:salary)}"); /* 参数1为INOUT类型,参数2为IN类型,参数3为OUT类型 */ /* 注册输出参数 */ cstmt3.registerOutParameterAtName("id",Types.INTEGER); cstmt3.registerOutParameterAtName("salary",Types.REAL); /* 设置输入参数 */ cstmt3.setIntAtName("id",5); cstmt3.setStringAtName("name", "a2"); /* 执行语句 */ cstmt3.execute(); /* 获取输出参数值 */ int intValue=cstmt3.getInt(1); float floatValue=cstmt3.getFloat(3);
4.4. JDBC Statement API
public ResultSet executeQuery(String sql)
功能:
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。
参数:
sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句。
返回值:
包含给定查询所生成数据的 ResultSet 对象;永远不能为 null。
public int executeUpdate(String sql)
功能:
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
参数:
sql - SQL 数据操作语言(Data Manipulation Language,DML)语句,如 INSERT、UPDATE 或 DELETE;或者不返回任何内容的 SQL 语句,如 DDL 语句。
返回值:
对于 SQL 数据操作语言 (DML) 语句,返回行计数 ;
对于什么都不返回的 SQL 语句,返回 0 。
public void close()
功能:
立即释放此 Statement 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。一般来说,使用完后立即释放资源是一个好习惯,这样可以避免对数据库资源的占用。
public int getMaxFieldSize()
功能:
获取可以为此 Statement 对象所生成 ResultSet 对象中的字符和二进制列值返回的最大字节数。此限制仅应用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR 和 LONGVARCHAR 列。如果超过了该限制,则直接丢弃多出的数据。
返回值:
存储字符和二进制值的列的当前列大小限制;0 表示没有任何限制。
public void setMaxFieldSize(int max)
功能:
设置此 Statement 对象生成的 ResultSet 对象中字符和二进制列值可以返回的最大字节数限制。此限制仅应用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR、NCHAR、NVARCHAR、LONGNVARCHAR 和 LONGVARCHAR 字段。如果超过了该限制,则直接丢弃多出的数据。为了获得最大的可移植性,应该使用大于 256 的值。
参数:
max - 以字节为单位的新列大小限制;0 表示没有任何限制。
public int getMaxRows()
功能:
获取由此 Statement 对象生成的 ResultSet 对象可以包含的最大行数。如果超过了此限制,则直接撤消多出的行。
参数:
由此 Statement 对象生成的 ResultSet 对象的当前最大行数;0 表示不存在任何限制。
public void setMaxRows(int max)
功能:
将此 Statement 对象生成的所有 ResultSet 对象可以包含的最大行数限制设置为给定数。如果超过了该限制,则直接撤消多出的行。
参数:
max - 新的最大行数限制;0 表示没有任何限制。
public void setEscapeProcessing(boolean enable)
功能:
将转义处理设置为开或关。如果转义扫描为开启(默认值),则驱动程序在将 SQL 语句发送到数据库之前执行转义替换。注:因为准备的语句通常在进行此调用之前解析,所以对 PreparedStatements 对象禁用转义处理无效。
参数:
enable - 为 true 表示启用转义处理;为 false 表示禁用转义处理。
public int getQueryTimeout()
功能:
获取驱动程序等待 Statement 对象执行的秒数。如果超过该限制,则抛出 SQLException。
返回值:
以秒为单位的当前查询超时限制;0 表示不存在任何限制。
public void setQueryTimeout(int seconds)
功能:
将驱动程序等待 Statement 对象执行的秒数设置为给定秒数。如果超过该限制,则抛出 SQLException。JDBC 驱动程序必须将此限制应用于 execute、executeQuery 和 executeUpdate 方法。
参数:
seconds - 以秒为单位的查询超时限制;0 表示没有任何限制。
public void cancel()
功能:
如果 DBMS 和驱动程序都支持中止 SQL 语句,则取消此 Statement 对象。一个线程可以使用此方法取消另一个线程正在执行的语句。
public SQL警告 get警告s()
功能:
获取此 Statement 对象上的调用报告的第一个警告。后续的 Statement 对象警告将链接到此 SQL警告 对象上。
返回值:
第一个 SQL警告 对象;如果不存在任何警告,则返回 null。
public void clear警告s()
功能:
清除在此 Statement 对象上报告的所有警告。调用此方法后,在为此 Statement 对象报告新的警告之前,get警告s 方法将一直返回 null。
public void setCursorName(String name)
功能:
将 SQL 指针名称设置为给定的 String,后续 Statement 对象的 execute 方法将使用此字符串。然后,可以在 SQL 位置更新或删除语句中使用该名称来标识由此语句生成的 ResultSet 对象中的当前行。如果数据库不支持位置更新/删除,则此方法为无操作 (noop)。为了确保指针具有支持更新的适当隔离级别,指针的 SELECT 语句的形式应该为 SELECT FOR UPDATE。如果 FOR UPDATE 不存在,则位置更新可能失败。
参数:
name - 新指针名称,该名称在连接中必须是唯一的。
public boolean execute(String sql)
功能:
执行给定的 SQL 语句,该语句可能返回多个结果。在某些(不常见)情形下,单个 SQL 语句可能返回多个结果集合和/或更新计数。这一点通常可以忽略,除非正在
执行已知可能返回多个结果的存储过程或者。
动态执行未知 SQL 字符串。
参数:
sql - 任何 SQL 语句 。
返回值:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false 。
public ResultSet getResultSet()
功能:
以 ResultSet 对象的形式获取当前结果。每个结果应只调用一次此方法。
返回值:
以 ResultSet 对象的形式返回当前结果;如果结果是更新计数或没有更多的结果,则返回 null 。
public int getUpdateCount()
功能:
以更新计数的形式获取当前结果;如果结果为 ResultSet 对象或没有更多结果,则返回 -1。每个结果应只调用一次此方法。
返回值:
以更新计数的形式返回当前结果;如果当前结果为 ResultSet 对象或没有更多结果,则返回 -1。
public boolean getMoreResults()
功能:
移动到此 Statement 对象的下一个结果,如果其为 ResultSet 对象,则返回 true,并隐式关闭通过方法 getResultSet 获取的所有当前 ResultSet 对象。
返回值:
如果下一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或不存在更多结果,则返回 false 。
public void setFetchDirection(int direction)
功能:
向驱动程序提供关于方向的提示,在使用此 Statement 对象创建的 ResultSet 对象中将按该方向处理行。默认值为 ResultSet.FETCH_FORWARD。
参数:
direction - 用于处理行的初始方向 。
public int getFetchDirection()
功能:
获取从数据库表获取行的方向,该方向是根据此 Statement 对象生成的结果集合的默认值。如果此 Statement 对象没有通过调用方法 setFetchDirection 设置获取方向,则返回值是特定于实现的。
返回值:
根据此 Statement 对象生成的结果集合的默认获取方向。
public void setFetchSize(int rows)
功能:
为 JDBC 驱动程序提供一个提示,它提示此 Statement 生成的 ResultSet 对象需要更多行时应该从数据库获取的行数。指定的行数仅影响使用此语句创建的结果集合。如果指定的值为 0,则忽略该提示。默认值为 0。
参数:
rows - 要获取的行数。
public int getFetchSize()
功能:
获取结果集合的行数,该数是根据此 Statement 对象生成的 ResultSet 对象的默认获取大小。如果此 Statement 对象没有通过调用方法 setFetchSize 设置获取大小,则返回值是特定于实现的。
返回值:
根据此 Statement 对象生成的结果集合的默认获取大小。
public int getResultSetConcurrency()
功能:
获取此 Statement 对象生成的 ResultSet 对象的结果集合并发性。
返回值:
ResultSet.CONCUR_READ_ONLY 或 ResultSet.CONCUR_UPDATABLE 。
public int getResultSetType()
功能:
获取此 Statement 对象生成的 ResultSet 对象的结果集合类型。
返回值:
ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE 或 ResultSet.TYPE_SCROLL_SENSITIVE 之一。
public void addBatch(String sql)
功能:
将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。通过调用方法 executeBatch 可以批量执行此列表中的命令。
参数:
sql - 通常此参数为 SQL INSERT 或 UPDATE 语句 。
public void clearBatch()
功能:
清空此 Statement 对象的当前 SQL 命令列表。
public int[] executeBatch()
功能:
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
返回值:
包含批中每个命令的一个元素的更新计数所组成的数组。数组的元素根据将命令添加到批中的顺序排序。
public Connection getConnection()
功能:
获取生成此 Statement 对象的 Connection 对象。
返回值:
此语句生成的连接。
public boolean getMoreResults(int current)
功能:
将此 Statement 对象移动到下一个结果,根据给定标志指定的指令处理所有当前 ResultSet 对象;如果下一个结果为 ResultSet 对象,则返回 true。
参数:
current - 下列 Statement 常量之一,这些常量指示将对使用 getResultSet 方法获取的当前 ResultSet 对象发生的操作:Statement.CLOSE_CURRENT_RESULT、Statement.KEEP_CURRENT_RESULT 或 Statement.CLOSE_ALL_RESULTS 。
返回值:
如果下一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在更多的结果,则返回 false 。
public ResultSet getGeneratedKeys()
功能:
获取由于执行此 Statement 对象而创建的所有自动生成的键。如果此 Statement 对象没有生成任何键,则返回空的 ResultSet 对象。
返回值:
包含通过执行此 Statement 对象自动生成的键的 ResultSet 对象。
public int executeUpdate(String sql,int autoGeneratedKeys)
功能:
执行给定的 SQL 语句,并用给定标志通知驱动程序由此 Statement 生成的自动生成键是否可用于获取。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略该标志。
参数:
sql - SQL 数据操作语言(Data Manipulation Language,DML)语句,如 INSERT、UPDATE 或 DELETE;或者是不返回任何内容的 SQL 语句,如 DDL 语句。
autoGeneratedKeys - 指示自动生成的键是否可用于获取的标志。
以下常量之一:Statement.RETURN_GENERATED_KEYS Statement.NO_GENERATED_KEYS 。
返回值:
对于 SQL 数据操作语言 (DML) 语句,返回行计数。
对于不返回任何内容的 SQL 语句,返回 0。
public int executeUpdate(String sql,int[] columnIndexes)
功能:
执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。此数组包含目标表中的列的索引,该目标表包含应该可获取的自动生成的键。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略该数组。
参数:
sql - SQL 数据操作语言 (DML) 语句,如 INSERT、UPDATE 或 DELETE;或者不返回任何内容的 SQL 语句,如 DDL 语句。
columnIndexes - 指示应该从插入行返回列的列索引数组。
返回值:
对于 SQL 数据操作语言 (DML) 语句,返回行计数。
对于不返回任何内容的 SQL 语句,返回 0。
public int executeUpdate(String sql,String[] columnNames)
功能:
执行给定的 SQL 语句,并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。此数组包含目标表中的列的索引,该目标表包含应该可获取的自动生成的键。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略该数组。
参数:
sql - SQL 数据操作语言 (DML) 语句,如 INSERT、UPDATE 或 DELETE;或者不返回任何内容的 SQL 语句,如 DDL 语句。
columnIndexes - 指示应该从插入行返回列的列索引数组。
返回值:
对于 SQL 数据操作语言 (DML) 语句,返回行计数。
对于不返回任何内容的 SQL 语句,返回 0。
public boolean execute(String sql,int autoGeneratedKeys)
功能:
执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略此信号。
参数:
sql - 任何 SQL 语句;
autoGeneratedKeys - 指示是否应该使用 getGeneratedKeys 方法使自动生成的键可用于获取的常量;以下常量之一:Statement.RETURN_GENERATED_KEYS 或 Statement.NO_GENERATED_KEYS。
返回值:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false 。
public boolean execute(String sql,int[] columnIndexes)
功能:
执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。此数组包含目标表中的列的索引,而该目标表包含应该使其可用的自动生成的键。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略该数组。
参数:
sql - 任何 SQL 语句;
columnIndexes - 通过调用方法 getGeneratedKeys 应该可用于获取的插入行中的列索引数组。
返回值:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false 。
public boolean execute(String sql,String[] columnNames)
功能:
执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序在给定数组中指示的自动生成的键应该可用于获取。此数组包含目标表中的列的索引,而该目标表包含应该使其可用的自动生成的键。如果该 SQL 语句不是 INSERT 语句,或者不是可以返回自动生成键的 SQL 语句(这些语句的列表是特定于供应商的),则驱动程序将忽略该数组。
参数:
sql - 任何 SQL 语句;
columnNames - 通过调用方法 getGeneratedKeys 应该可用于获取的插入行中的列名称数组。
返回值:
如果第一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在任何结果,则返回 false 。
public int getResultSetHoldability()
功能:
获取此 Statement 对象生成的 ResultSet 对象的结果集合可保存性。
返回值:
ResultSet.HOLD_CURSORS_OVER_COMMIT 或 ResultSet.CLOSE_CURSORS_AT_COMMIT 。
public boolean isClosed()
功能:
获取是否已关闭了此 Statement 对象。如果已经对它调用了 close 方法,或者它自动关闭,则 Statement 已关闭。
返回值:
如果此 Statement 对象关闭,则返回 true;如果它仍是打开的,则返回 false。
4.5. JDBC PreparedStatement API
public ResultSet executeQuery()
功能:
在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
返回值:
包含该查询生成的数据的 ResultSet 对象;不会返回 null。
public int executeUpdate()
功能:
在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。
返回值:
(1) SQL 数据操作语言 (DML) 语句的行数 (2) 对于无返回内容的 SQL 语句,返回 0。
public void setNull(int parameterIndex,int sqlType)
功能:
将指定参数设置为 SQL NULL。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
sqlType - java.sql.Types 中定义的 SQL 类型代码。
public void setBoolean(int parameterIndex, boolean x)
功能:
将指定参数设置为给定 Java boolean 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL BIT 或 BOOLEAN 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setByte(int parameterIndex, byte x)
功能:
将指定参数设置为给定 Java byte 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL TINYINT 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setShort(int parameterIndex, short x)
功能:
将指定参数设置为给定 Java short 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL SMALLINT 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setInt(int parameterIndex, int x)
功能:
将指定参数设置为给定 Java int 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL INTEGER 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setLong(int parameterIndex, long x)
功能:
将指定参数设置为给定 Java long 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL BIGINT 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setFloat(int parameterIndex, float x)
功能:
将指定参数设置为给定 Java REAL 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL FLOAT 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setDouble(int parameterIndex, double x)
功能:
将指定参数设置为给定 Java double 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL DOUBLE 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setBigDecimal(int parameterIndex, BigDecimal x)
功能:
将指定参数设置为给定 java.math.BigDecimal 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL NUMERIC 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setString(int parameterIndex, String x)
功能:
将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的大小)。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setBytes(int parameterIndex, byte[] x)
功能:
将指定参数设置为给定 Java byte 数组。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARBINARY 或 LONGVARBINARY 值(取决于该参数相对于驱动程序在 VARBINARY 值上的限制的大小)。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setDate(int parameterIndex, Date x)
功能:
使用运行应用程序的虚拟机的默认时区将指定参数设置为给定 java.sql.Date 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL DATE 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setTime(int parameterIndex, Time x)
功能:
将指定参数设置为给定 java.sql.Time 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL TIME 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setTimestamp(int parameterIndex, Timestamp x)
功能:
将指定参数设置为给定 java.sql.Timestamp 值。在将此值发送到数据库时,驱动程序将它转换成一个 SQL TIMESTAMP 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
public void setAsciiStream(int parameterIndex, InputStream x, int length)
功能:
将指定参数设置为给定输入流,该输入流将具有给定字节数。在将一个非常大的 ASCII 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含 ASCII 参数值的 Java 输入流。
length - 流中的字节数。
public void setUnicodeStream(int parameterIndex, InputStream x, int length)
功能:
将指定参数设置为给定输入流,该输入流将具有给定字节数。在将一个非常大的 Unicode 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 Unicode 到数据库 char 格式的任何必要转换。根据 Java 虚拟机规范中的定义,Unicode 流的字节格式必须是 Java UTF-8。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含 Unicode 参数值的 java.io.InputStream 对象。
length - 流中的字节数
public void setBinaryStream(int parameterIndex, InputStream x, int length)
功能:
将指定参数设置为给定输入流,该输入流将具有给定字节数。在将一个非常大的二进制值输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含二进制参数值的 Java 输入流。
length - 流中的字节数
public void clearParameters()
功能:
立即清除当前参数值。
public void setObject(int parameterIndex, Object x, int targetSqlType)
功能:
使用给定对象设置指定参数的值。除了假定 scale 为 0,此方法类似于上面的 setObject 方法。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含输入参数值的对象。
targetSqlType - 将发送给数据库的 SQL 类型(定义于 java.sql.Types 中)。
public void setObject(int parameterIndex, Object x)
功能:
使用给定对象设置指定参数的值。第二个参数必须是 Object 类型;所以,应该对内置类型使用 java.lang 的等效对象。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含输入参数值的对象。
public boolean execute()
功能:
在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。一些预处理过的语句返回多个结果,execute 方法处理这些复杂的语句,executeQuery 和 executeUpdate 处理形式更简单的语句。
返回值:
如果第一个结果是 ResultSet 对象,则返回 true;如果第一个结果是更新计数或者没有结果,则返回 false 。
public void addBatch()
功能:
将一组参数添加到此 PreparedStatement 对象的批处理命令中。
public void setCharacterStream(int parameterIndex, Reader reader, int length)
功能:
将给定参数设置为给定 Reader 对象,该对象具有给定字符数长度。在将一个非常大的 UNICODE 值输入到 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
reader - 包含 Unicode 数据的 java.io.Reader 对象。
length - 流中的字符数。
public void setBlob(int parameterIndex, Blob x)
功能:
将指定参数设置为给定 java.sql.Blob 对象。在将此对象发送到数据库时,驱动程序将它转换成一个 SQL BLOB 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 一个映射 SQL BLOB 值的 Blob 对象。
public void setClob(int parameterIndex, Clob x)
功能:
将指定参数设置为给定 java.sql.Clob 对象。在将此对象发送到数据库时,驱动程序将它转换成一个 SQL CLOB 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 一个映射 SQL Clob 值的 Clob 对象。
public ResultSetMetaData getMetaData()
功能:
获取包含有关 ResultSet 对象列信息的 ResultSetMetaData 对象,ResultSet 对象将在执行此 PreparedStatement 对象时返回。
返回值:
ResultSet 对象列的描述;如果驱动程序无法返回一个 ResultSetMetaData 对象,则返回 null 。
public void setDate(int parameterIndex, Date x, Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。驱动程序使用 Calendar 对象构造一个 SQL DATE 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
cal - 驱动程序将用来构造日期的 Calendar 对象。
public void setTime(int parameterIndex, Time x, Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。驱动程序使用 Calendar 对象构造一个 SQL TIME 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
cal - 驱动程序将用来构造时间的 Calendar 对象。
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。驱动程序使用 Calendar 对象构造一个 SQL TIMESTAMP 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 参数值。
cal - 驱动程序将用来构造时间戳的 Calendar 对象。
public void setNull(int parameterIndex, int sqlType, String typeName)
功能:
将指定参数设置为 SQL NULL。这种形式的 setNull 方法应该用于用户定义的类型或 REF 类型参数。用户定义类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
sqlType - 取自 java.sql.Types 的一个值。
typeName - SQL 用户定义类型的完全限定名称;如果该参数不是用户定义类型或 REF,则忽略它。
public ParameterMetaData getParameterMetaData()
功能:
获取此 PreparedStatement 对象的参数的编号、类型和属性。
返回值:
一个 ParameterMetaData 对象,它包含有关此 PreparedStatement 对象的每个参数标记的编号、类型和属性的信息 。
public void setClob(int parameterIndex, Reader reader, long length)
功能:
将指定参数设置为 Reader 对象。Reader 必须包含 length 指定的字符数,否则在执行 PreparedStatement 时将生成一个 SQLException。此方法不同于 setCharacterStream (int, Reader, int) 方法,因为它会通知驱动程序应该将参数值作为 CLOB 发送给服务器。在使用 setCharacterStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARCHAR 还是 CLOB 发送给服务器。该函数在PG兼容模式下未实现。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
reader - 包含用于设置参数值的数据的对象。
length - 参数数据中的字符数。
public void setBlob(int parameterIndex, InputStream inputStream, long length)
功能:
将指定参数设置为 InputStream 对象。Inputstream 必须包含 length 指定的字符数,否则在执行 PreparedStatement 时将生成一个 SQLException。此方法不同于 setBinaryStream (int, InputStream, int) 方法,因为它会通知驱动程序应该将参数值作为 BLOB 发送给服务器。在使用 setBinaryStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARBINARY 还是 BLOB 发送给服务器。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
inputStream - 包含用于设置参数值的数据的对象。
length - 参数数据中的字节数。
public void setSQLXML(int parameterIndex, SQLXML xmlObject)
功能:
将指定参数设置为给定 java.sql.SQLXML 对象。在将此对象发送到数据库时,驱动程序将它转换成一个 SQL XML 值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
xmlObject - 映射 SQL XML 值的 SQLXML 对象 。
public void setAsciiStream(int parameterIndex, InputStream x, long length)
功能:
将指定参数设置为给定输入流,该输入流将具有指定字节数。在将一个非常大的 ASCII 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含 ASCII 参数值的 Java 输入流。
length - 流中的字节数。
public void setBinaryStream(int parameterIndex, InputStream x, long length)
功能:
将指定参数设置为给定输入流,该输入流将具有指定字节数。在将一个非常大的二进制值输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含二进制参数值的 java 输入流。
length - 流中的字节数。
public void setCharacterStream(int parameterIndex, Reader reader, long length)
功能:
将指定参数设置为给定 Reader 对象,该对象具有给定字符数长度。在将一个非常大的 UNICODE 值输入给 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
reader - 包含 Unicode 数据的 java.io.Reader 对象。
length - 流中的字符数。
public void setAsciiStream(int parameterIndex, InputStream x)
功能:
将指定参数设置为给定输入流。在将一个非常大的 ASCII 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含 ASCII 参数值的 Java 输入流。
public void setBinaryStream(int parameterIndex, InputStream x)
功能:
将指定参数设置为给定输入流。在将一个非常大的二进制值输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
x - 包含二进制参数值的 java 输入流。
public void setCharacterStream(int parameterIndex, Reader reader)
功能:
将指定参数设置为给定 Reader 对象。在将一个非常大的 UNICODE 值输入到 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
reader - 包含 Unicode 数据的 java.io.Reader 对象。
public void setClob(int parameterIndex, Reader reader)
功能:
将指定参数设置为 Reader 对象。此方法不同于 setCharacterStream (int, Reader) 方法,因为它会通知驱动程序应该将参数值作为 CLOB 发送给服务器。在使用 setCharacterStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARCHAR 还是 CLOB 发送给服务器。该函数在PG兼容模式下未实现。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
reader - 包含用于设置参数值的数据的对象。
public void setBlob(int parameterIndex, InputStream inputStream)
功能:
将指定参数设置为 InputStream 对象。此方法不同于 setBinaryStream (int, InputStream) 方法,因为它会通知驱动程序应该将参数值作为 BLOB 发送给服务器。在使用 setBinaryStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARBINARY 还是 BLOB 发送给服务器。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,……
inputStream - 包含用于设置参数值的数据的对象。
4.6. JDBC CallableStatement API
public void registerOutParameter(int parameterIndex, int sqlType)
功能:
按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC 或 DECIMAL,则应使用接受标度值的那种 registerOutParameter。
public void registerOutParameter(int parameterIndex, int sqlType, int scale)
功能:
按顺序位置 parameterIndex 将参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - 由 java.sql.Types 定义的 SQL 类型代码。
scale - 小数点右边所需的位数。该参数必须大于等于 0。
public boolean wasNull()
功能:
查询最后一个读取的 OUT 参数是否为 SQL NULL。注意,此方法只应该在调用获取方法之后调用,否则没有用来确定它是否为 null 的值。
返回值:
如果最后一个读取的参数为 SQL NULL,则返回 true;否则返回 false 。
public String getString(int parameterIndex)
功能:
以 Java 编程语言中 String 的形式获取指定的 JDBC CHAR、VARCHAR 或 LONGVARCHAR 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public boolean getBoolean(int parameterIndex)
功能:
以 Java 编程语言中 boolean 值的形式获取指定的 JDBC BIT 或 BOOLEAN 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 false。
public byte getByte(int parameterIndex)
功能:
以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public short getShort(int parameterIndex)
功能:
以 Java 编程语言中 short 值的形式获取指定的 JDBC SMALLINT 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public int getInt(int parameterIndex)
功能:
以 Java 编程语言中 int 值的形式获取指定的 JDBC INTEGER 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public long getLong(int parameterIndex)
功能:
以 Java 编程语言中 long 值的形式获取指定的 JDBC BIGINT 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public float getFloat(int parameterIndex)
功能:
以 Java 编程语言中 float 值的形式获取指定的 JDBC FLOAT 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public double getDouble(int parameterIndex)
功能:
以 Java 编程语言中 double 值的形式获取指定的 JDBC DOUBLE 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public BigDecimal getBigDecimal(int parameterIndex, int scale)
功能:
以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边有 scale 个位数。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
scale - 小数点右边的位数。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public byte[] getBytes(int parameterIndex)
功能:
以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARY 或 VARBINARY 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Date getDate(int parameterIndex)
功能:
以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Time getTime(int parameterIndex)
功能:
以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Timestamp getTimestamp(int parameterIndex)
功能:
以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Object getObject(int parameterIndex)
功能:
以 Java 编程语言中 Object 的形式获取指定参数的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
保存 OUT 参数值的 java.lang.Object 。
public BigDecimal getBigDecimal(int parameterIndex)
功能:
以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
全精度参数值。如果值为 SQL NULL,则结果为 null。
public Blob getBlob(int parameterIndex)
功能:
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
Java 编程语言中 Blob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
public Clob getClob(int parameterIndex)
功能:
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
返回值:
Java 编程语言中 Clob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
public Date getDate(int parameterIndex, Calendar cal)
功能:
以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
cal - 供驱动程序用来构造日期的 Calendar 对象。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Time getTime(int parameterIndex,Calendar cal)
功能:
以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
cal - 供驱动程序用来构造时间的 Calendar 对象。
返回值:
参数值;如果该值为 SQL NULL,则结果为 null。
public Timestamp getTimestamp(int parameterIndex, Calendar cal)
功能:
以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
cal - 供驱动程序用来构造时间戳的 Calendar 对象。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public void registerOutParameter(int parameterIndex, int sqlType, String typeName)
功能:
注册指定的输出参数。这种形式的 registerOutParameter 方法应该用于用户定义的输出参数或 REF 输出参数。用户定义类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。
参数:
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推。
sqlType - 取自 Types 的一个值。
typeName - SQL 结构类型的完全限定名称。
public void registerOutParameter(String parameterName,int sqlType)
功能:
将名为 parameterName 的 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
参数:
parameterName - 参数名。
sqlType - 由 java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC 或 DECIMAL,则应使用接受标度值的那种registerOutParameter。
public void registerOutParameter(String parameterName,int sqlType,int scale)
功能:
将名为 parameterName 的参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
参数:
parameterName - 参数名。
sqlType - 由 java.sql.Types 定义的 SQL 类型代码。
scale - 小数点右边所需的位数。该参数必须大于等于 0。
public void registerOutParameter(String parameterName,int sqlType,String typeName)
功能:
注册指定的输出参数。这种形式的 registerOutParameter 方法应该用于用户命名的输出参数或 REF 输出参数。用户命名类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。
参数:
parameterName - 参数名。
sqlType - 取自 Types 的一个值。
typeName - SQL 结构类型的完全限定名称。
public void setNull(String parameterName,int sqlType)
功能:
将指定参数设置为 SQL NULL。
参数:
parameterName - 参数名。
sqlType - java.sql.Types 中定义的 SQL 类型代码。
public void setBoolean(String parameterName, boolean x)
功能:
将指定参数设置为给定 Java boolean 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BIT 或 BOOLEAN 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setByte(String parameterName,byte x)
功能:
将指定参数设置为给定 Java byte 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TINYINT 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setShort(String parameterName, short x)
功能:
将指定参数设置为给定 Java short 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL SMALLINT 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setInt(String parameterName, int x)
功能:
将指定参数设置为给定 Java int 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL INTEGER 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setLong(String parameterName, long x)
功能:
将指定参数设置为给定 Java long 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BIGINT 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setFloat(String parameterName,float x)
功能:
将指定参数设置为给定 Java float 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL FLOAT 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setDouble(String parameterName,double x)
功能:
将指定参数设置为给定 Java double 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DOUBLE 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setBigDecimal(String parameterName, BigDecimal x)
功能:
将指定参数设置为给定 java.math.BigDecimal 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL NUMERIC 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setString(String parameterName,String x)
功能:
将指定参数设置为给定 Java String 值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARCHAR 或 LONGVARCHAR 值(取决于该参数相对于驱动程序在 VARCHAR 值上的限制的大小)。
参数:
parameterName - 参数名。
x - 参数值。
public void setBytes(String parameterName, byte[] x)
功能:
将指定参数设置为给定 Java byte 数组。在将此值发送给数据库时,驱动程序将它转换成一个 SQL VARBINARY 或 LONGVARBINARY 值(取决于该参数相对于驱动程序在 VARBINARY 值上的限制的大小)。
参数:
parameterName - 参数名。
x - 参数值。
public void setDate(String parameterName,Date x)
功能:
使用运行应用程序的虚拟机默认时区将指定参数设置为给定 java.sql.Date 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DATE 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setTime(String parameterName,Time x)
功能:
将指定参数设置为给定 java.sql.Time 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TIME 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setTimestamp(String parameterName,Timestamp x)
功能:
将指定参数设置为给定 java.sql.Timestamp 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TIMESTAMP 值。
参数:
parameterName - 参数名。
x - 参数值。
public void setAsciiStream(String parameterName,InputStream x,int length)
功能:
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。在将一个非常大的 ASCII 值输入给 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
x - 包含 ASCII 参数值的 Java 输入流。
length - 流中的字节数。
public void setBinaryStream(String parameterName,InputStream x,int length)
功能:
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。在将一个非常大的二进制值输入给 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterName - 参数名。
x - 包含二进制参数值的 java 输入流。
length - 流中的字节数。
public void setObject(String parameterName,Object x,int targetSqlType,int scale)
功能:
使用给定对象设置指定参数的值。第二个参数必须是一个对象类型;对于整数值,应该使用 java.lang 的等效对象。
参数:
parameterName - 参数名。
x - 包含输入参数值的对象。
targetSqlType - 将发送到数据库的 SQL 类型(在 java.sql.Types 中定义)。scale 参数可以进一步限定此类型。
scale - 对于 java.sql.Types.DECIMAL 或 java.sql.Types.NUMERIC 类型,该参数是小数点后的位数。对于其他所有类型,将忽略此值。
public void setObject(String parameterName,Object x,int targetSqlType)
功能:
使用给定对象设置指定参数的值。除了假定 scale 为 0 外,此方法类似于上面的 setObject 方法。
参数:
parameterName - 参数名。
x - 包含输入参数值的对象。
targetSqlType - 要发送到数据库的 SQL 类型(在 java.sql.Types 中定义)。
public void setObject(String parameterName,Object x)
功能:
使用给定对象设置指定参数的值。第二个参数必须是类型 Object;所以,应该对内置类型使用 java.lang 的等效对象。
参数:
parameterName - 参数名。
x - 包含输入参数值的对象。
public void setCharacterStream(String parameterName,Reader reader,int length)
功能:
将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数。在将一个非常大的 UNICODE 值输入给 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
reader - 包含用作指定参数的 UNICODE 数据的 java.io.Reader 对象。
length - 流中的字节数。
public void setDate(String parameterName,Date x,Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。驱动程序使用 Calendar 对象构造一个 SQL DATE 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterName - 参数名。
x - 参数值。
cal - 供驱动程序用来构造日期的 Calendar 对象。
public void setTime(String parameterName,Time x,Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。驱动程序使用 Calendar 对象构造一个 SQL TIME 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterName - 参数名。
x - 参数值。
cal - 供驱动程序用来构造日期的 Calendar 对象。
public void setTimestamp(String parameterName,Timestamp x,Calendar cal)
功能:
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。驱动程序使用 Calendar 对象构造一个 SQL TIMESTAMP 值,该值随后被驱动程序发送给数据库。利用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
参数:
parameterName - 参数名。
x - 参数值。
cal - 供驱动程序用来构造日期的 Calendar 对象。
public void setNull(String parameterName,int sqlType,String typeName)
功能:
将指定参数设置为 SQL NULL。这种形式的 setNull 方法应该用于用户定义类型的参数或 REF 类型的参数。用户定义类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。
参数:
parameterName - 参数名。
sqlType - 取自 java.sql.Types 的一个值。
typeName - SQL 用户定义类型的完全限定名;如果该参数不是用户定义的类型或 SQL REF 值,则忽略它。
public String getString(String parameterName)
功能:
以 Java 编程语言中 String 的形式获取 JDBC CHAR、VARCHAR 或 LONGVARCHAR 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public boolean getBoolean(String parameterName)
功能:
以 Java 编程语言中 boolean 值的形式获取 JDBC BIT 或 BOOLEAN 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 false。
public byte getByte(String parameterName)
功能:
以 Java 编程语言中 byte 值的形式获取 JDBC TINYINT 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public short getShort(String parameterName)
功能:
以 Java 编程语言中 short 值的形式获取 JDBC SMALLINT 参数的值。
参数:
parameterName - 参数名 。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public int getInt(String parameterName)
功能:
以 Java 编程语言中 int 值的形式获取 JDBC INTEGER 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public long getLong(String parameterName)
功能:
以 Java 编程语言中 long 值的形式获取 JDBC BIGINT 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public float getFloat(String parameterName)
功能:
以 Java 编程语言中 float 值的形式获取 JDBC FLOAT 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public double getDouble(String parameterName)
功能:
以 Java 编程语言中 double 值的形式获取 JDBC DOUBLE 参数的值。
参数:
parameterName - 参数名 。
返回值:
参数值。如果值为 SQL NULL,则结果为 0。
public byte[] getBytes(String parameterName)
功能:
以 Java 编程语言中 byte 数组值的形式获取 JDBC BINARY 或 VARBINARY 参数的值。
参数:
parameterName - 参数名 。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Date getDate(String parameterName)
功能:
以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Time getTime(String parameterName)
功能:
以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Timestamp getTimestamp(String parameterName)
功能:
以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值。
参数:
parameterName - 参数名。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Object getObject(String parameterName)
功能:
以 Java 编程语言中 Object 的形式获取参数的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。
参数:
parameterName - 参数名。
返回值:
保存 OUT 参数值的 java.lang.Object。
public BigDecimal getBigDecimal(String parameterName)
功能:
以 java.math.BigDecimal 对象的形式获取 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
参数:
parameterName - 参数名。
返回值:
全精度参数值。如果值为 SQL NULL,则结果为 null。
public Blob getBlob(String parameterName)
功能:
以 Java 编程语言中 Blob 对象的形式获取 JDBC BLOB 参数的值。
参数:
parameterName - 参数名。
返回值:
Java 编程语言中 Blob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
public Clob getClob(String parameterName)
功能:
以 Java 编程语言中 java.sql.CLOB 对象的形式获取 JDBC CLOB 参数的值。
参数:
parameterName - 参数名。
返回值:
Java 编程语言中 Clob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
public Date getDate(String parameterName,Calendar cal)
功能:
以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterName - 参数名。
cal - 供驱动程序用来构造日期的 Calendar 对象。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public Time getTime(String parameterName,Calendar cal)
功能:
以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterName - 参数名。
cal - 供驱动程序用来构造日期的 Calendar 对象。
返回值:
参数值;如果该值为 SQL NULL,则结果为 null。
public Timestamp getTimestamp(String parameterName,Calendar cal)
功能:
以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
参数:
parameterName - 参数名。
cal - 供驱动程序用来构造日期的 Calendar 对象。
返回值:
参数值。如果值为 SQL NULL,则结果为 null。
public void setClob(String parameterName,Reader reader,long length)
功能:
将指定参数设置为 Reader 对象。reader 必须包含 length 指定的字符数,否则在执行 CallableStatement 时将生成一个 SQLException。此方法不同于 setCharacterStream (int, Reader, int) 方法,因为它会通知驱动程序应该将参数值作为 CLOB 发送给服务器。在使用 setCharacterStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARCHAR 还是 CLOB 发送给服务器 。
参数:
parameterName - 要设置的参数名。
reader - 包含用来设置参数值的数据的对象。
length - 参数数据中的字符数。
public void setBlob(String parameterName,InputStream inputStream,long length)
功能:
将指定参数设置为 InputStream 对象。inputstream 必须包含 length 指定的字符数,否则在执行 CallableStatement 时将生成一个 SQLException。此方法不同于 setBinaryStream (int, InputStream, int) 方法,因为它会通知驱动程序应该将参数值作为 BLOB 发送给服务器。在使用 setBinaryStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARBINARY 还是 BLOB 发送给服务器。
参数:
parameterName - 要设置的参数名。
inputStream - 包含用来设置参数值的数据的对象。
length - 参数数据中的字节数。
public void setSQLXML(String parameterName,SQLXML xmlObject)
功能:
将指定参数设置为给定 java.sql.SQLXML 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL XML 值。
参数:
parameterName - 参数名。
xmlObject - 映射 SQL XML 值的 SQLXML 对象。
public SQLXML getSQLXML(int parameterIndex)
功能:
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。
参数:
parameterIndex - 第一个参数的索引是 1,第二个参数的索引是 2,……
返回值:
映射 SQL XML 值的 SQLXML 对象。
public SQLXML getSQLXML(String parameterName)
功能:
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。
参数:
parameterName - 参数名。
返回值:
映射 SQL XML 值的 SQLXML 对象。
public Reader getCharacterStream(int parameterIndex)
功能:
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
参数:
parameterIndex - 第一个参数的索引是 1,第二个参数的索引是 2,……
返回值:
包含参数值的 java.io.Reader 对象;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null。
public Reader getCharacterStream(String parameterName)
功能:
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。
参数:
parameterName - 参数名。
返回值:
包含参数值的 java.io.Reader 对象;如果值为 SQL NULL,则返回值为 Java 编程语言中的 null。
public void setBlob(String parameterName,Blob x)
功能:
将指定参数设置为给定的 java.sql.Blob 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL BLOB 值。
参数:
parameterName - 参数名。
x - 映射 SQL BLOB 值的 Blob 对象。
public void setClob(String parameterName,Clob x)
功能:
将指定参数设置为给定的 java.sql.Clob 对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL CLOB 值。
参数:
parameterName - 参数名。
x - 映射 SQL CLOB 值的 Clob 对象。
public void setAsciiStream(String parameterName,InputStream x,long length)
功能:
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。在将一个非常大的 ASCII 值输入到 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
x - 包含 ASCII 参数值的 Java 输入流。
length - 流中的字节数 。
public void setBinaryStream(String parameterName,InputStream x,long length)
功能:
将指定参数设置为给定输入流,该输入流将拥有指定字节数。在将一个非常大的二进制值输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterName - 参数名。
x - 包含二进制参数值的 java 输入流。
length - 流中的字节数。
public void setCharacterStream(String parameterName,Reader reader,long length)
功能:
将指定参数设置为给定 Reader 对象,该对象具有给定字符数长度。在将一个非常大的 UNICODE 值输入给 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
reader - 包含用作指定参数的 UNICODE 数据的 java.io.Reader 对象。
length - 流中的字节数。
public void setAsciiStream(String parameterName,InputStream x)
功能:
将指定参数设置为给定输入流。在将一个非常大的 ASCII 值输入 LONGVARCHAR 参数时,通过 java.io.InputStream 发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
x - 包含 ASCII 参数值的 Java 输入流。
public void setBinaryStream(String parameterName,InputStream x)
功能:
将指定参数设置为给定输入流。在将一个非常大的二进制值输入 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
参数:
parameterName - 参数名。
x - 包含二进制参数值的 java 输入流。
public void setCharacterStream(String parameterName,Reader reader)
功能:
将指定参数设置为给定 Reader 对象。在将一个非常大的 UNICODE 值输入 LONGVARCHAR 参数时,通过 java.io.Reader 对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
参数:
parameterName - 参数名。
reader - 包含 Unicode 数据的 java.io.Reader 对象。
public void setClob(String parameterName,Reader reader)
功能:
将指定参数设置为 Reader 对象。此方法不同于 setCharacterStream (int, Reader) 方法,因为它会通知驱动程序应该将参数值作为 CLOB 发送给服务器。在使用 setCharacterStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARCHAR 还是 CLOB 发送给服务器。
参数:
parameterName - 参数名。
reader - 包含用来设置参数值的数据的对象。
public void setBlob(String parameterName,InputStream inputStream)
功能:
将指定参数设置为 InputStream 对象。此方法不同于 setBinaryStream (int, InputStream) 方法,因为它会通知驱动程序应该将参数值作为 BLOB 发送给服务器。在使用 setBinaryStream 方法时,驱动程序可能必须做一些额外的工作,以确定应该将参数数据作为 LONGVARBINARY 还是 BLOB 发送给服务器。
参数:
parameterName - 参数名。
inputStream - 包含用来设置参数值的数据的对象。
边栏推荐
- 【每日SQL打卡】DAY 22丨平均售价【难度中等】
- 飞桨框架体验评测交流会,产品的使用体验由你来决定!
- 精通音视频开发是真的可以为所欲为
- 593. 有效的正方形
- 惠及6亿人 投资98亿 沿江高铁武宜段最新进展来了!
- 【Unity3D】场景切换、退出全屏、退出游戏
- Learning with Recoverable Forgetting阅读心得
- Building and sharing the root of the digital world: Alibaba Cloud builds a comprehensive cloud-native open source ecosystem
- 【Untitled】
- Network layer and transport layer restrictions
猜你喜欢
puzzle(017.5)联动归位
2.1冒泡排序(Bubble Sorting)
Paddle frame experience evaluation and exchange meeting, the use experience of the product is up to you!
Recursion - Eight Queens Problem
Learning with Recoverable Forgetting阅读心得
1.4, stack
飞桨框架体验评测交流会,产品的使用体验由你来决定!
three.js 报错信息 RGBELoader.js:46 RGBELoader Bad File Format: bad initial token
宝塔快速搭建自适应咖啡网站模板与管理系统源码实测
MyCat中间件高可用、读写分离、分片、主从切换、ER分片
随机推荐
【一起学Rust | 基础篇】rust函数与流程控制详解
游戏合作伙伴专题:BreederDAO 与《王国联盟》结成联盟
企业微信客户朋友圈一天可以发多少条?都有哪些限制?如何突破朋友圈可展示人数限制?
迁徙数据平台简单介绍
WordPress 常规设置
Collections.singletonList(T o)
最简单的共享列表服务器KissLists
7月3日文: 表面上有危险,实属安全周期,大概率会快速上扬的个股
怎么以管理员身份运行cmd?以管理员身份运行cmd方法介绍
three.js 报错信息 RGBELoader.js:46 RGBELoader Bad File Format: bad initial token
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
2.2 Selection sort
c语言:来实现一个小程序n子棋(已五子棋为例)
"100 Interview Knowledge Collections" 1. Interview Skills丨Do you really understand HR's careful thinking?
"Qidong well day lily" is the national geographical indications protection products?Ants investigation on July 29, the answer
【每日SQL打卡】DAY 20丨查询球队积分【难度中等】
2022-07-29 Daily: The latest major progress of AlphaFold: complete almost all known protein structure predictions of more than 200 million, fully open
redis数据库基本知识学习——基础、常用
2.3插入排序
Proficient in audio and video development can really do whatever you want