`

dbutils 执行存储过程,dbutils 调用有输出参数的存储过程

阅读更多

dbutils 执行存储过程,dbutils 执行存储过程,dbutils 执行存储过程,dbutils 执行存储过程.

 

dbutils 好像是不支持直接使用带输出参数存储过程,如果谁有直接调用的好方法多多指教。

 

如果是没有输出参数的存储过程,直接调用就行,和调用sql没什么区别。

 

这次主要说怎么 变个法 调用存储过程;

 

public Map callProcedure(String sql, String params[]) {
  Map map = new HashMap();
  CallableStatement cs = null;
  Connection conn = null;
  ResultSet rs = null;
  try {
   conn = dataSource.getConnection();
   cs = conn.prepareCall(sql);
   // 设置输入参数
   for (int i = 0; i < params.length; i++) {
    cs.setString(i + 1, params[i]);
   }
   System.out.println(params.length);
   // 设置输出参数
   cs.registerOutParameter(8, Types.INTEGER);
   cs.registerOutParameter(9, Types.INTEGER);
   cs.registerOutParameter(10, Types.INTEGER);
   cs.registerOutParameter(11, Types.INTEGER);
   cs.registerOutParameter(12, Types.INTEGER);
   cs.registerOutParameter(13, Types.INTEGER);
   rs = cs.executeQuery();
   while (rs.next()) {
    map.put("visit_bouce_count", rs.getString("visit_bouce_count"));
    map.put("page_count", rs.getString("page_count"));
    map.put("page_bounce_count", rs.getString("page_bounce_count"));
    map.put("play_bounce_count", rs.getString("play_bounce_count"));
    map.put("visit_prog_count", rs.getString("visit_prog_count"));
    map.put("visit_interval", rs.getString("visit_interval"));
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
    }
    if (cs != null) {
     cs.close();
    }
    if (conn != null) {
     conn.close();
    }
   } catch (Exception ex) {
    ex.printStackTrace();
   }
  }
  return map;
 }

 

哈哈,用了jdbc 的方式完成。

 

调用方法采用:

 

callProcedure("{call pr_bouce_count(?,?,?,?,?,?,?,?,?,?,?,?,?)}", param)

param 是一个数组里面是参数。 这样就完成了。

 

 

 

 

 

分享到:
评论

相关推荐

    JAVA调用ORACLE存储过程通用类

    它提供了与数据库交互的功能,包括设置输入参数、执行存储过程以及处理输出参数等。 - **`StoredQueryInfo`**:该类封装了存储过程的元信息,如名称、参数等,方便在调用过程中使用。 - **`RowMapper`**:这是Apache...

    DButils 自定义位置存储

    `DBUtils`是一个常用的工具类库,用于简化数据库操作,而XUtils的`DBUtil`则是其一个扩展,提供了更多的定制化功能。本篇文章将深入探讨如何使用XUtils的`DBUtil`实现数据库外置,以及它带来的优势和具体的实现步骤...

    dbutils dbutils dbutils dbutils

    在数据库操作中,事务处理是确保数据一致性的重要手段,DBUtils 的 Transaction 类简化了这一过程。 4. **GracefulKiller**: 这是一个用于优雅关闭数据库连接的工具,通常配合多线程或异步编程使用。在程序退出前,...

    python-dbutils 简单封装

    Python的dbutils模块是Apache的一个开源项目,它提供了一套用于数据库操作的工具类,能够帮助简化数据库连接和管理,提高开发效率。本教程将详细讲解如何对dbutils进行简单的封装,以更好地适应实际的Python数据库...

    python的DBUtils包

    Python的DBUtils是一个非常实用的库,主要用于增强Python标准库中的`DB-API 2.0`接口,提供了线程安全性和连接池管理等功能。DBUtils是基于PEP 249设计的,它使得数据库连接的管理和维护变得更加简单,尤其在多线程...

    DBUtils数据库的使用

    它可以执行基本的SELECT、INSERT、UPDATE和DELETE语句,以及存储过程。QueryRunner提供了事务管理,如果在执行过程中出现异常,它会自动回滚事务,确保数据的一致性。 2. **ResultSetHandler**:这个接口用于处理...

    Dbutils 的jar包

    Dbutils 的核心组件主要有以下几个: 1. **QueryRunner**:这是一个非常重要的类,它提供了执行SQL语句的方法,包括查询、更新(插入、删除、修改)以及批量操作。QueryRunner支持预编译的PreparedStatement,能...

    C3P0和DButils

    接着,我们调用`query`方法执行SQL查询,并指定`BeanListHandler`来将结果集转换为`MyBean`对象的列表。最后,关闭连接池以释放资源。 总之,C3P0和DBUtils是Java数据库开发中不可或缺的工具,它们帮助开发者更高效...

    模仿DBUtils(自己模仿DBUtils写的简易DBUtils)

    2. **PrepareStatement**: 使用PreparedStatement而不是Statement是DBUtils的一个关键特性,因为它能防止SQL注入,提高代码可读性和执行效率。在模仿的版本中,你将学习如何预编译SQL语句,并使用占位符来传入参数。...

    dbutils + oracle 增删改查批量插入示例

    在IT行业中,数据库操作是日常开发中的重要环节,而`dbutils`是一个非常实用的Java数据库操作工具包,它简化了对数据库进行增删改查(CRUD)操作的过程。本示例着重介绍如何结合`dbutils`与Oracle数据库进行高效的...

    commons-dbutils-1.4.jar

    3. 安全的SQL执行:DBUtils通过预编译的PreparedStatement来执行SQL语句,这不仅提高了执行效率,还能防止SQL注入攻击。预编译的SQL语句可以使用占位符(?)来代替动态参数,QueryRunner提供了`runUpdate(String sql...

    commons-dbutils-1.7

    DbUtils则通过封装这些过程,降低了出错率,提高了开发效率。 1. **连接管理**:DbUtils将数据库连接的生命周期管理进行了封装,使用`org.apache.commons.dbutils.DbUtils`类中的静态方法,如`getConnection()`、`...

    commons-dbutils.jar.rar

    - `commons-dbutils-1.6.jar`: 相对于1.3版,可能会有性能改进、bug修复和新功能的添加。 - `commons-dbutils-1.7.jar`: 最新版本,通常会提供更好的兼容性和更多的改进。 5. **使用场景** DBUtils适用于那些...

    DbUtils数据库查询工具包 v1.8.1.zip

    4. 执行SQL:调用QueryRunner的方法执行SQL,例如`query`用于查询,`update`用于更新、插入或删除操作。 5. 处理结果:根据返回的ResultSet或受影响的行数进行业务逻辑处理。 6. 关闭资源:DbUtils会自动关闭结果集...

    dbutils的jar包和源码

    `commons-dbutils-1.4-src.zip` 则提供了源代码,开发者可以深入研究其内部实现,了解每个类和方法的工作原理,这对于学习和调试很有帮助。 通过源码,我们可以看到 QueryRunner 如何优化 SQL 执行,如何处理结果集...

    dbutils

    **dbutils** `dbutils` 是一个开源的...尽管现代的ORM框架如Hibernate和MyBatis提供了更强大的功能,但`dbutils` 仍然是进行基础数据库操作的一个优秀选择,特别是在对性能有较高要求,且不需要复杂对象映射的场景下。

    commons-dbutils-1.3.zip

    1. **QueryRunner类**:这是DBUtils的主要工作类,提供了执行SQL查询和更新操作的方法。例如,`QueryRunner.runQuery()`用于执行查询,而`QueryRunner.runUpdate()`则用于执行更新、插入或删除操作。这些方法支持预...

    DButils使用实例

    QueryRunner是DButils的主要类,提供了执行SQL查询和更新的方法。它可以配合StatementHandler接口的实现类一起使用,例如BasicRowProcessor和BeanListHandler,来处理结果集。BasicRowProcessor将每一行数据转换为...

    commons-dbutils-1.7-bin,commons-dbutils 1.7 的ar

    1. **基础功能**:DBUtils 提供了QueryRunner类,这是其核心功能之一,支持执行SQL查询、更新操作和存储过程。QueryRunner类的runQuery方法用于执行SELECT语句,返回ResultSet,而runUpdate方法则用于执行INSERT、...

Global site tag (gtag.js) - Google Analytics