java读取oracle的存储过程

mybatis调用oracle存储过程返回游标 读取到java的List<Map> mybatis调用oracle存储过程返回结果集:http://blog.youkuaiyun.com/eunyeon/article/details/52745396 java读取ORACLE 存储过程 返回游标(cursor) 格式 读取到List中:https://my.oschina.net/u/1587544/blog/371792 mapper: {call P_TES 阅读详情
  1. SQL代码
CREATE OR REPLACE package chapter_13 as
TYPE rs 
IS REF CURSOR ;
procedure founder(oFields out rs);
end;
CREATE OR REPLACE package body chapter_13 as
PROCEDURE founder(oFields out rs) IS
BEGIN
 
open oFields for
  
select * from person;
END founder;
end;

  2.  java代码

package jdbc;
import java.io.*;
import java.sql.*;
import java.text.*;
import oracle.jdbc.OracleTypes;
public class TestStoredProcedures {
  Connection conn;
  
public TestStoredProcedures() {
    
try {
      DriverManager.registerDriver(
new oracle.jdbc.driver.OracleDriver());
      conn 
= DriverManager.getConnection(
          
"jdbc:oracle:thin:@localhost:1521:orcl", "jola", "jola");
    }
 catch (SQLException e) {
      System.err.println(e.getMessage());
      e.printStackTrace();
    }

  }

  
public static void main(String[] args) throws Exception {
    
new TestStoredProcedures().process();
  }

  
public void process() throws SQLException {
   
    
long start = 0;
    
long end = 0;
    CallableStatement cstmt 
= null;
    
try {
      start 
= System.currentTimeMillis();
      
// *** SQL92 escape syntax ***
     
      cstmt 
= conn.prepareCall(
          
"{call chapter_13.founder(?)}");
      cstmt.registerOutParameter(
1, OracleTypes.CURSOR);
      ResultSet rs 
= null;
      cstmt.execute();
       rs 
= (ResultSet)cstmt.getObject(1);
      
while (rs.next()) {
        System.out.println(rs.getString(
"NAME"));
      }

      rs.close();
      end 
= System.currentTimeMillis();
      System.out.println(
"Average elapsed time = " +
                (end 
- start) / 8 + " milliseconds");
    }
 catch (SQLException e) {
      System.err.println(
"SQL Error: " + e.getMessage());
    }
 finally {
      
if (cstmt != null) {
        
try {
          cstmt.close();
        }
 catch (SQLException ignore) {}
      }

    }

  }

  
protected void finalize() throws Throwable {
    
if (conn != null) {
      
try {
        conn.close();
      }
 catch (SQLException ignore) {}
    }

    
super.finalize();
  }

}
Java获取Oracle存储过程返回的Cursor Java获取Oracle存储过程返回的Cursor,使用odbc6 立即下载

相关推荐

获取oracle相关信息

oracle java 视图 过程包 表

Java访问Oracle11g中的存储过程

在这个示例中,首先我们使用JDBC连接到Oracle数据库,然后准备调用存储过程。我们通过CallableStatement对象来调用存储过程,并设置输入参数和注册输出参数。最后执行存储过程,并获取输出参数的值。访问Oracle11g中的存储过程可以通过JDBC来实现。下面给出一个简单的示例代码来访问Oracle11g中的存储过程。示例的输出结果将会是存储过程返回的员工姓名,比如"Employee name: John Smith"。

qq_46645079的博客 555

vivado 编译ADI AD9361 TCL脚本生成hdl工程

(4)输入"source ../../scripts/adi_make.tcl"命令(仅双引号内部命令,不包含双引号),个人理解:该命令用来加载当前所需要编译工程所需要各功能模块的信息,因为每个工程需要不同的功能模块,比如有的需要gpio模块,有的不需要gpio模块,这些模块上前面路径的library也同样以TCL脚本形式存在,当有需要时才进行编译,怎么知道当前工程需要什么模块呢就是通过"source ../../scripts/adi_make.tcl"(仅双引号内部命令,不包含双引号)命令实现。

weixin_40586423的博客 808

java操作Oracle存储过程示例

最近想了解一下Oracle的存储过程,于是便在网上查找各种例子,终于弄明白了,在这里也把经验分享一下,望各位指教! 创建一张用于存储过程的表: CREATE TABLE T_TEST( I_ID VARCHAR2(20), I_NAME VARCHAR2(20) ) 一、无返回参数存储过程示例 1.创建无返回参数的存储过程 CREATE OR REPLACE PROCEDURE

胡献根的博客 1409

5G R18标准:AI/ML如何重塑空口优化与网络架构

人工智能与机器学习正逐步成为通信网络优化的核心技术。其核心原理在于通过数据驱动模型,从海量网络数据中学习信道变化、用户行为等统计规律,替代传统的基于固定规则的优化方法。这一技术范式能显著提升网络性能与效率,尤其在空口资源管理、干扰协调和能耗控制等场景中价值突出。在5G Advanced(R18)标准化框架下,AI/ML被系统性地引入空口设计,聚焦于信道状态信息反馈增强、波束管理与预测等关键用例。通过定义网络侧AI、终端侧AI及联合学习的标准化接口与流程,R18旨在实现跨厂商设备的智能协同,推动无线网络向自适

weixin_35671843的博客 244

自动驾驶开发者必看:nuscenes数据集23类物体标注全解析(附避坑指南)

本文深入解析nuscenes数据集的23类物体标注系统,为自动驾驶开发者提供全面的标注规范解读和实战避坑指南。涵盖多模态数据组织、类别细分规则、属性系统应用技巧以及标注质量验证方法,帮助开发者高效利用这一标杆数据集提升模型性能。

weixin_29041767的博客 256

java读取oracle_java读取oracle的存储过程

CREATE OR REPLACE package chapter_13 asTYPE rs IS REF CURSOR ;procedure founder(oFields out rs);end;CREATE OR REPLACE package body chapter_13 asPROCEDURE founder(oFields out rs) ISBEGIN open oFields f...

weixin_39878688的博客 170

论文浅读之PIP-Net: Patch-Based Intuitive Prototypes for Interpretable Image Classification

这篇文章的主要贡献包括:1 提出了一种新型的可解释图像分类模型PIP-Net,它基于原型部分学习可解释的原型,实现内置解释性。2 PIP-Net采用自监督学习的新正则化方法,学习原型之间的相似性,使得 latent 空间中的相似性能更好地与人类视觉感知相一致,从而减小了所谓的语义差距。3 PIP-Net可解释为一个稀疏的打分表,它可以检测图像是否属于任何类,或是否属于多个类。它也可以对OOD数据进行分类并说“我没有看到过这个”。

qq_49370210的博客 1791

java读取oracle_java读取oracle的存储过程_oracle

CREATE OR REPLACE package chapter_13 asTYPE rs IS REF CURSOR ;procedure founder(oFields out rs);end;CREATE OR REPLACE package body chapter_13 asPROCEDURE founder(oFields out rs) ISBEGINopen oFields fo...

weixin_35811662的博客 260

集成学习综述—bagging/随机森林/adaboost/GBDT/XGBoost/LightGBM/catboost 原理和代码介绍

集成学习介绍 文章目录集成学习介绍1 基本概念1.1 定义基本定义集成学习类别参考链接1.2 基学习器(CART)介绍公式介绍例子讲解代码实践参考链接1.3 偏差(bias)和方差(var)公式推导图解参考链接2 Boosting类2.1 原理2.2 AdaBoost2.2.2 公式推导2.2.3 优点与不足优点不足应用2.2.4 代码实践2.2.5 参考链接2.3 GBDT原理介绍代码实践参考...

fzl的博客 4615

【scratch音乐课】天空之城:音符与节拍、消息与链表

scratch是一个非常小巧的青少年编程工具,自带程序编写语句,积木式语句非常直观、易用,可创作数学、科学、音乐、绘画等方面作品。本文用scratch“演奏”一首大家非常熟悉的《天空之城》,并向大家介绍一些基本乐理知识,以及scratch中消息、链表的使用。

★·°立芯;︶︵︶ 1万+

Oracle 存储过程blob,用oracle的java存储过程实现BLOB字段的字符串读取

原创于2009年07月24日,2009年10月22日迁移至此。阅读了一个帖子“有没有可能写出比Oracle函数更快的外部存储过程”(http://www.itpub.net/thread-1117461-1-1.html)突发灵感,加上原来有一个需求,需要从BLOB字段(本来就是字符型的内容)中直接读取成为字符串,需要java开发人员的支持,想了想与其求人不如求己,oracle.sql.BLOB的...

weixin_42524703的博客 258

我装了10个ClawHub技能,这些最好用!

ClawHub就是Clawdbot的"应用商店"。Clawdbot是手机ClawHub是App Store技能就是各种App装了技能,Clawdbot才能干更多事。这个技能解决了我的信息过载问题。为什么装我订阅了很多Newsletter。每天收到一堆长文章,根本看不完。怎么用“总结这篇文章的核心观点”“把这个Newsletter提炼成3个要点”“这篇技术博客有哪些可以实践的建议?安装命令真实体验现在我收到长文章,直接转发给Clawdbot。它会提炼出核心要点和行动清单。

Maynor的博客 6101

oracle存储过程返回游标 java_java读取ORACLE 存储过程 返回游标(cursor) 格式 读取到List中...

/***执行存储过程(目前只支持返回一个游标)nevernull**@paramsql*执行的语句*@paramindex*当前游标的下标*@paramobj*参数(用来替换sql语句中的?)*@paramrop*注册oracle的输出参数(注意,这里假如下标为1的是输入参数,为2...

weixin_32263265的博客 350

在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量

摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1045

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

用oracle的java存储过程实现BLOB字段的字符串读取

阅读了一个帖子“有没有可能写出比Oracle 函数更快的外部存储过程”(http://www.itpub.net/thread-1117461-1-1.html) 突发灵感,加上原来有一个需求,需要从BLOB字段(本来就是字符型的内容)中直接读取成为字符串,需要java 开发人员的支持,想了想与其求人不如求己, oracle.sql.BLOB的相关文档...

weixin_33957648的博客 159

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: sybase与oracle存储过程的写法对比
下一篇: 数据库设计中的技巧
daniel112
博客等级 码龄21年 24粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值