java代码调用数据库存储过程
由于前边有写java代码调用数据库,感觉应该把java调用存储过程也写一下,所以笔者补充该篇!
package testSpring; import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet; import oracle.jdbc.OracleTypes; public class Test1 {
public static void main(String[] args) {
Connection con=null;
ResultSet res=null;
CallableStatement call=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@192.168.224.87:1523:orcl";
String userName="gb_report";
String passWord="gb_report123$";
System.out.println("连接数据库成功!");
con=DriverManager.getConnection(url,userName,passWord); call=con.prepareCall("{call P_COMMON.QUERY_PROVINCE_PAGE(?,?,?,?,?,?,?,?,?,?,?)}");//P_COMMON为包名,QUERY_PROVINCE_PAGE为存储过程名,?代表参数
call.registerOutParameter(4, OracleTypes.NUMBER);//参数下标为4及返回值的类型
call.registerOutParameter(5, OracleTypes.NUMBER);
call.registerOutParameter(7, OracleTypes.NUMBER);
call.registerOutParameter(8, OracleTypes.INTEGER);
call.registerOutParameter(9, OracleTypes.VARCHAR);
call.registerOutParameter(10,OracleTypes.VARCHAR);
call.registerOutParameter(11,OracleTypes.CURSOR);//注意这里返回值类型为游标 call.setString(1, "");//参数下标为1,输入参数类型为varchar(java对应string)
call.setString(2, "");
call.setString(3, "");
call.setString(6, ""); //执行
call.execute(); res = (ResultSet)call.getObject(11);//接受参数下标为11的返回值为游标类型,用ResultSet
while(res.next()){
System.out.println("行政ID:"+res.getString("ITEMID")+";省份名称:"+res.getString("ITEMNAME")+";");
} } catch (Exception e) {
e.printStackTrace();
}finally{ try {
if(res!=null){
res.close();
}else if(call!=null){
call.close();
}else if (con!=null) {
con.close();
}
System.out.println("关闭连接!"); } catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
java代码调用数据库存储过程的更多相关文章
- java代码调用oracle存储过程
一.简介 与调用mysql存储过程类型过程都是如下 1.创建连接 Connection conn = DriverManager.getConnection(url, user, password); ...
- JAVA调用数据库存储过程
下面将举出JAVA对ORACLE数据库存储过程的调用 ConnUtils连接工具类:用来获取连接.释放资源 复制代码 package com.ljq.test; import jav ...
- Java代码调用Oracle的存储过程,存储函数和包
Java代码调用存储过程和存储函数要使用CallableStatement接口 查看API文档: 上代码: java代码调用如下的存储过程和函数: 查询某个员工的姓名 月薪 职位 create or ...
- Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件
本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ...
- Java代码调用服务器上的Shell脚本
Java代码调用服务器上的Shell脚本 这里主要是因为我们报表平台有用到用户手工录入的数据作为结果数据且需要纳入saiku去展示 如我们所知,saiku不会自动刷新,所以需要在数据更新接口中调用服务 ...
- 存储过程之七—java代码调用
一.简介 jdbc调用存储过程与调用一般的sql语句有些差别.jdbc调用一般的sql语句的时候,返回的是结果集,或是sql语句后是否执行成功的标记量.而存储过程返回的可以是结果集,输出参数.返回状态 ...
- java中调用数据库中的存储过程和函数
public static void main(String[] args) { Connection conn =getConnection(url,user, pwd); ...
- JDBC——Java代码与数据库链接的桥梁
常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:j ...
- 用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql
1:创建shell脚本 touch sqoop_options.sh chmod 777 sqoop_options.sh 编辑文件 特地将执行map的个数设置为变量 测试 可以java代码传参数 ...
随机推荐
- matplotlib两种画散点图的方式
对于matplotlib.pyplot( as plt ) 先输入主体数据部分: import numpy as np import matplotlib.pyplot as plt X_train ...
- Spinner使用一
Spinner使用一 一.使用方法 1.在layout中创建Spinner控件 <Spinner android:id="@+id/spinner1" android:lay ...
- 一道问题引出的python中可变数据类型与不可变数据类型
一. 问题的提出 我们先来看两个对比 第一道题,当对象为整数时,最终结果:b = 2, a = 1,b的变化没有引起a的变化 a = 1 b = a b += 1 print(a) print(b) ...
- poj2942 点-双联通+二分图染色
题意:有一群骑士要坐在一个圆形的桌子上,他们之间有些人相互讨厌,所以不能挨着,要求算出一次也不能坐在桌子上的人,每次会议桌子必须奇数个人,一个人不能开会 题解:可以先建一个补图,要满足题目条件我们只要 ...
- JAVA实现多线程的四种方式
JAVA多线程实现方式: 1.继承Thread类(无返回值) 2.实现Runnable接口(无返回值) 3.实现Callable接口,通过FutureTask包装器来创建Threak线程(有返回值) ...
- 20180907_网络差_天安微信token请求超时
一.异常现象 token请求时,显示请求超时. 二.原因分析 这个异常有如下几个原因: (1)服务器没有开通 qyapi.weixin.qq.com 的外网权限 (2)服务器网络太慢 三.异常解决 ...
- nyoj-1011-So Easy[II] (多边形面积求解)
题目链接 /* Name:nyoj-1011-So Easy[II] Copyright: Author: Date: 2018/4/26 17:12:09 Description: 将多边形,从第一 ...
- translation exercise 3
The high-resolution photograph was taken with a 135-mm lens mounted on a digital SLR camera.这张高清照片是用 ...
- Storm实时计算:流操作入门编程实践
转自:http://shiyanjun.cn/archives/977.html Storm实时计算:流操作入门编程实践 Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比 ...
- 消息队列mq总结(重点看,比较了主流消息队列框架)
转自:http://blog.csdn.net/konglongaa/article/details/52208273 http://blog.csdn.net/oMaverick1/article/ ...