java怎样调用oracle存储函数_oracle如何调用存储过程

java怎样调用oracle存储函数_oracle如何调用存储过程之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。首先来看一下项目结构:在数据库创建存储过程的脚本,假如,使用的是本地的oracle数据库,那么,就需要开启服务-OracleOraDb11g_home1TNSListener和OracleServiceORCL。实现:输入用户的工号,输出用户名字、薪水以及工作:createorr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧。

首先来看一下项目结构:

d6cf54b835d82b80d670141f1f470574.png

在数据库创建存储过程的脚本,假如,使用的是本地的oracle数据库,那么,就需要开启服务-OracleOraDb11g_home1TNSListener和OracleServiceORCL。

实现:

输入用户的工号,输出用户名字、薪水以及工作:create or replace procedure queryempinfo(eno in number

, pename out varchar2

, psal out number

, pjob out varchar2)

as

begin

–得到该员工的姓名 月薪和职位

select ename, sal, job into pename, psal, pjob from emp where empno = eno;

end;

之后,在项目当中引入oracle的jdbc的jar包。

Procedure代码:package com.tomhu.procedure;

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import oracle.jdbc.OracleTypes;

public class Procedure

{

private Connection conn;

private CallableStatement stat;

private ResultSet rs;

String url = “jdbc:oracle:thin:@127.0.0.1:1521:orcl”;

String driverName = “oracle.jdbc.driver.OracleDriver”;

String username = “scott”;

String password = “******”;

String sql = “call queryempinfo(?,?,?,?)”;

// 调用存储过程

public void callProcedure()

{

try

{

Class.forName(driverName);

conn = DriverManager.getConnection(url, username, password);

stat = conn.prepareCall(sql);

// 一个输入参数和三个输出参数

stat.setInt(1, 7566);

stat.registerOutParameter(2, OracleTypes.VARCHAR);

stat.registerOutParameter(3, OracleTypes.NUMBER);

stat.registerOutParameter(4, OracleTypes.VARCHAR);

stat.execute();

String name = stat.getString(2);

int sal = stat.getInt(3);

String job = stat.getString(4);

System.out.println(“name: ” + name + “, sal: ” + sal + “, job: ” + job);

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

close(conn, stat, rs);

}

}

// 关闭连接

public void close(Connection conn, CallableStatement stat, ResultSet rs)

{

if (rs != null)

{

try

{

rs.close();

}

catch (SQLException e)

{

e.printStackTrace();

}

finally

{

rs = null;

}

}

if (stat != null)

{

try

{

stat.close();

}

catch (SQLException e)

{

e.printStackTrace();

}

finally

{

stat = null;

}

}

if (conn != null)

{

try

{

conn.close();

}

catch (SQLException e)

{

e.printStackTrace();

}

finally

{

conn = null;

}

}

}

public static void main(String[] args)

{

new Procedure()

.callProcedure();

}

}

输出结果:name: JONES, sal: 2975, job: MANAGER

在java当中如何去调用oracle存储过程你都了解了吧,你还想了解更多java程序代码例子吗?更多相关内容请继续的通过奇Q工具网来进行了解吧!希望上面的文章内容可以对你有所帮助哦。

推荐阅读:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180027.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 设计测试用例的方法

    设计测试用例的方法如果测试的时间有限,如何保证在有限的时间内让产品上线?(1)有限的时间内测试,保证用户经常使用(使用频率比较高,主要的,核心的功能)功能的质量(2)如果有限的时间所有的功能不能完全测完,可以和产品经理开发商量,把没有通过测试的,有风险的功能把用户的入口,屏蔽掉(让用户无法使用),产生错误风险就会降低(3)本次测试,测试报告写清楚,这次上线,哪些功能测试了,哪些功能没有测试,上线风险分析清楚。百度云盘的测试用例太多了,如何去写?(1)用户经常使用的功能有哪些?文件的存储(长传,接受)下载分享

    2022年6月20日
    24
  • 分层抽样不按比例如何加权_按比例分层抽样和定额抽样的区别?

    分层抽样不按比例如何加权_按比例分层抽样和定额抽样的区别?从宏观上,两者的目的都是为了提供更好的样本代表性,并且两者的理论基础都来自于:总体的个体的同质性越高,抽样误差越小,样本的代表性越好。两者的本质区别在于是否以概率为基础,比例分层抽样是概率抽样而后者是非概率抽样。从最宏观的角度来说,比例分层抽样产生的样本是随机抽样样本,其本身可以进行抽样误差的评估和推断检验,进而把你样本的结论推广到总体。而定额抽样本身不具备这种可能。从具体操作上,两者都需要选取一…

    2022年5月14日
    69
  • css设置超链接样式和css设置列表样式

    css设置超链接样式和css设置列表样式<styletype=”text/css”>a:LINK{color:red;text-decoration:none;}a:VISITED{color:green;text-decoration:none;}a:HOVE…

    2022年7月19日
    15
  • 穿女装上班的大厂程序员:我知道自己是个男生「建议收藏」

    穿女装上班的大厂程序员:我知道自己是个男生「建议收藏」本文转载自程序员技术“三流码农写UI,二流码农写架构,一流码农写算法,顶级码农穿女装。”——互联网圈子里,一直流传着这样一句无从考证的段子。程序员穿女装,是一个神秘而热门的话题。大部分人都曾经道听途说过相关的故事,也有人在网络上看过“女装大佬”的照片,比如曾经微博非官方举办过一次“程序员女装大赛”,引起过很多程序员的围观。但是生活里,似乎很少看到真实的女装程序员的事例。当小众文化、性别、和互联网的职业交融在一起,他们经历过什么样的故事,产生过什么样…

    2022年7月25日
    8
  • 树莓派开发环境搭建(树莓派5)

    在本系列文章的第一部分中,我们将在一台树莓派Pi3ModelB上安装并运行一个以太坊区块链客户端。毫无疑问,区块链绝对是当前的热点。之所以会这样,很大程度上是因为比特币以及其他加密货币让很多人一夜暴富。但是,区块链的应用并不仅限于加密货币领域,考虑到其去中心化以及防篡改等特性,区块链技术还可以用到IoT应用中。因此,除了加密货币和安全交易之外,以太坊平台还可以提供一种分布式的计算平台。在这篇…

    2022年4月12日
    179
  • Jenkins(4)docker容器内部修改jenkins容器时间[通俗易懂]

    Jenkins(4)docker容器内部修改jenkins容器时间[通俗易懂]前言用docker搭建的Jenkins环境时间显示和我们本地时间相差8个小时,需修改容器内部的系统时间查看时间查看系统时间date-R进入docker容器内部,查看容器时间dockere

    2022年7月29日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号