`
suoyihen
  • 浏览: 1386603 次
文章分类
社区版块
存档分类
最新评论

CallableStatement,ResultSet,ResultSetMetaData

 
阅读更多

CallableStatement是在存储过程调用过程中使用的,方法是prepareCall。当自定义的存储过程包含参数,我们需要在执行前对参数进行设置:

设置参数用到的类是ParameterMetaData,它的getParameterCount和getParameterType两个方法是很重要的,通常我们在写JDBC时不会想到这两个方法,只是简单的setObject就了事了,在商业项目当中还是需要考虑全面的。

当我们需要将执行之后的数据返回为一个Object[],可以:

将执行后的ResultSet先使用next方法使指针指向数据库中有数据的第一行,然后就可以将整个ResultSet toArray了。

通常我们要获得一个query返回的记录总数,我们可以使用count(*)来获得,还有一种方法就是:

先将ResultSet指向last,这时指针即指向了查出数据中的最后一行,然后使用getRow方法来获得最后一行的行编号即为记录总数了。
将ResultSet的一行数据转化为Object[],这时我们要用到ResultSetMetaData这个类的相关方法了:





分享到:
评论

相关推荐

    JDBC-Student.rar_callablestatement_dbtoobject_java 学员 管理 系统_jdbc

    3. **ResultSetMetaData**:当使用Statement或PreparedStatement执行查询并获取ResultSet时,ResultSetMetaData对象可以提供关于结果集列的信息,如列数、列名、列数据类型等。在管理系统中,这有助于我们更好地理解...

    01_传智播客JDBC_jdbc的理论概述

    7. **JDBC API的主要类和接口**:包括Driver、Connection、Statement、PreparedStatement、CallableStatement、ResultSet、ResultSetMetaData、DatabaseMetaData等,它们构成了JDBC的核心。 在"01_传智播客JDBC_...

    JDBC入门中文文档

    7. **JDBC API的主要接口和类**:包括Driver、Connection、Statement、PreparedStatement、CallableStatement、ResultSet、ResultSetMetaData、DatabaseMetaData等,每个都有其特定的作用和功能。 8. **异常处理**...

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    我们使用 `CallableStatement` 对象调用存储过程,并使用 `ResultSet` 对象处理结果集。 对于 `P_EMP_SELECT` 存储过程,我们使用 `CallableStatementCallback` 对象调用存储过程,并将结果集处理到 `List` 集合中...

    jdbc学习和帮助文档...

    - **`ResultSetMetaData`**:提供有关`ResultSet`中列的信息。 - **`DatabaseMetaData`**:提供数据库的元数据信息。 - **`javax.sql`**:提供了对数据库的高级操作接口和类,例如连接池管理、分布式事务等。 ###...

    JDBC课件.doc

    8. `java.sql.ResultSetMetaData`:提供关于`ResultSet`中列的信息,如列名称、数据类型等。 JDBC驱动按照工作方式可分为四类: 1. JDBC-ODBC Bridge:通过ODBC桥接技术,将JDBC调用转换为ODBC调用,然后由ODBC驱动...

    Java数据库编程.ppt

    列的数量可以通过`ResultSetMetaData`获取。 此外,JDBC还支持PreparedStatement和CallableStatement,它们可以提高性能和安全性,分别用于预编译SQL语句和调用数据库存储过程。PreparedStatement可以防止SQL注入,...

    关于JDBC方面的学习资料

    其中,`Connection`、`Driver`、`DriverManager`、`Statement`、`PreparedStatement`、`CallableStatement`、`ResultSet`、`ResultSetMetaData`和`DatabaseMetaData`是关键的类和接口。例如,`Connection`类用于建立...

    Java数据库编程宝典2

    第13章 使用PreparedStatement和CallableStatement 13.1 创建和使用PreparedStatement 13.1.1 创建PreparedStatement对象 13.1.2 在循环中使用PrenaredStatement 13.1.3 PreparedStatement返回的值 13.2 创建...

    Java数据库编程宝典4

    第13章 使用PreparedStatement和CallableStatement 13.1 创建和使用PreparedStatement 13.1.1 创建PreparedStatement对象 13.1.2 在循环中使用PrenaredStatement 13.1.3 PreparedStatement返回的值 13.2 创建...

    Java数据库编程宝典1

    第13章 使用PreparedStatement和CallableStatement 13.1 创建和使用PreparedStatement 13.1.1 创建PreparedStatement对象 13.1.2 在循环中使用PrenaredStatement 13.1.3 PreparedStatement返回的值 13.2 创建...

    Java数据库编程宝典3

    第13章 使用PreparedStatement和CallableStatement 13.1 创建和使用PreparedStatement 13.1.1 创建PreparedStatement对象 13.1.2 在循环中使用PrenaredStatement 13.1.3 PreparedStatement返回的值 13.2 创建...

    如何利用JDBC操纵数据库

    - **获取结果集元数据**:使用`ResultSet`对象的`getMetaData()`方法获取结果集的元数据,即`ResultSetMetaData`对象,可以了解结果集的列信息,如列数、列名等。 - **遍历结果集**:`ResultSet`是一个游标模型,...

    Java调用oracle存储过程通过游标返回临时表

    6. **关闭资源**:在处理完游标后,记得关闭`ResultSet`、`CallableStatement`和`Connection`,以释放数据库资源。 以下是一个示例代码片段,展示了如何实现这个过程: ```java // 假设存储过程为:CREATE GLOBAL ...

    JDBC.rar_JDBC API_JDBC 接口

    7. **ResultSetMetaData**: 提供关于ResultSet列的信息,如列的数量、名称、数据类型等。 8. **DatabaseMetaData**: 提供有关数据库的元数据,如数据库的版本、表名、列名等。 ### JDBC连接数据库步骤 1. 加载...

    数据库与jdbc技术单元习题一、填空题1.jdbc的英文全称是______.doc

    - **ResultSetMetaData**: ResultSetMetaData 类用来获取 ResultSet 对象的元数据信息,比如列的数量、列的名称、列的数据类型等。 #### 九、JSP连接数据库的形式 9. **两种连接方式**: - **使用JDBC直连**: ...

    JDBC课件,关于JDBC使用

    - **ResultSetMetaData类**:提供关于ResultSet列的信息,如列数量、名称、类型等。 - **DatabaseMetaData类**:提供了获取数据库元数据的方法,如数据库版本、表信息、列信息等。 **JDBC使用流程** 1. 加载并注册...

    java调用oracle存储过程实现增删改查

    记得在完成操作后关闭所有打开的资源,包括`ResultSet`、`CallableStatement`和`Connection`,以避免资源泄漏: ```java rs.close(); cs.close(); conn.close(); ``` 7. **示例:CRUD操作**: - **创建**:...

    java数据库连接

    5. **ResultSetMetaData**:提供关于`ResultSet`列的信息,如列名、数据类型等。 6. **SQLException**:处理数据库操作中出现的异常。 使用JDBC进行数据库连接的基本步骤如下: 1. 加载驱动:使用`Class.forName()...

Global site tag (gtag.js) - Google Analytics