- 浏览: 740667 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (396)
- JAVA (50)
- ORACLE (22)
- HIBERNATE (1)
- SPRING (26)
- STRUTS (4)
- OTHERS (0)
- MYSQL (11)
- Struts2 (16)
- JS (33)
- Tomcat (6)
- DWR (1)
- JQuery (26)
- JBoss (0)
- SQL SERVER (0)
- XML (10)
- 生活 (3)
- JSP (11)
- CSS (5)
- word (1)
- MyEclipse (7)
- JSTL (1)
- JEECMS (2)
- Freemarker (8)
- 页面特效 (1)
- EXT (2)
- Web前端 js库 (2)
- JSON http://www.json.org (3)
- 代码收集 (1)
- 电脑常识 (6)
- MD5加密 (0)
- Axis (0)
- Grails (1)
- 浏览器 (1)
- js调试工具 (1)
- WEB前端 (5)
- JDBC (2)
- PowerDesigner (1)
- OperaMasks (1)
- CMS (1)
- Java开源大全 (2)
- 分页 (28)
- Eclipse插件 (1)
- Proxool (1)
- Jad (1)
- Java反编译 (2)
- 报表 (6)
- JSON (14)
- FCKeditor (9)
- SVN (1)
- ACCESS (1)
- 正则表达式 (3)
- 数据库 (1)
- Flex (3)
- pinyin4j (2)
- IBATIS (3)
- probe (1)
- JSP & Servlet (1)
- 飞信 (0)
- AjaxSwing (0)
- AjaxSwing (0)
- Grid相关 (1)
- HTML (5)
- Guice (4)
- Warp framework (1)
- warp-persist (1)
- 服务器推送 (3)
- eclipse (1)
- JForum (5)
- 工具 (1)
- Python (1)
- Ruby (1)
- SVG (3)
- Joda-Time日期时间工具 (1)
- JDK (3)
- Pushlet (2)
- JSP & Servlet & FTP (1)
- FTP (6)
- 时间与效率 (4)
- 二维码 (1)
- 条码/二维码 (1)
最新评论
-
ctrlc:
你这是从web服务器上传到FTP服务器上的吧,能从用户电脑上上 ...
jsp 往 FTP 上传文件问题 -
annybz:
说的好抽象 为什么代码都有两遍。这个感觉没有第一篇 和第二篇 ...
Spring源代码解析(三):Spring JDBC -
annybz:
...
Spring源代码解析(一):IOC容器 -
jie_20:
你确定你有这样配置做过测试? 请不要转载一些自己没有测试的文档 ...
Spring2.0集成iReport报表技术概述 -
asd51731:
大哥,limit传-1时出错啊,怎么修改啊?
mysql limit 使用方法
第一种情况:无返回值
create or replace procedure test_a(param1 in varchar2,param2 in varchar2) as
begin
insert into test value(param1,param2);
end;
Java调用代码:
package com.test;
import java.sql.*;
import java.io.*;
import java.sql.*;
public class TestProcA
{
public TestProcA(){
}
public static void main(String []args)
{
ResultSet rs = null;
Connection conn = null;
CallableStatement proc = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test", "test", "test");
proc = conn.prepareCall("{ call test_a(?,?) }");
proc.setString(1, "1001");
proc.setString(2, "TestA");
proc.execute();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(null!=rs){
rs.close();
if(null!=proc){
proc.close();
}
if(null!=conn){
conn.close();
}
}
}catch(Exception ex){
}
}
}
}
第二种情况:有返回值的存储过程(返回值非列表).
存储过程为:
create or replace procedure test_b(param1 in varchar2,param2 out varchar2)
as
begin
select tname into param2 from test where tid=param1;
end;
Java调用代码:
package com.test;
import java.sql.*;
import java.io.*;
import java.sql.*;
public class TestProcB
{
public TestProcB(){
}
public static void main(String []args)
{
Connection conn = null;
CallableStatement proc = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test", "test", "test");
proc = conn.prepareCall("{ call test_b(?,?) }");
proc.setString(1, "1001");
proc.registerOutParameter(2, Types.VARCHAR);
proc.execute();
System.out.println("Output is:"+proc.getString(2));
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(null!=proc){
proc.close();
}
if(null!=conn){
conn.close();
}
}catch(Exception ex){
}
}
}
}
第三种情况:返回列表.
由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage了.要分两部分来写:
create or replace package tpackage as
type t_cursor is ref cursor;
procedure test_c(c_ref out t_cursor);
end ;
create or replace package body tpackage as
procedure test_c(c_ref out t_cursor) is
begin
open c_ref for select * from test;
end test_c;
end tpackage;
Java调用代码:
package com.test;
import java.sql.*;
import java.io.*;
import java.sql.*;
public class TestProcB
{
public TestProcB(){
}
public static void main(String []args)
{
Connection conn = null;
CallableStatement proc = null;
ResultSet rs = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:test", "test", "test");
proc = conn.prepareCall("{? = call tpackage.test_b(?) }");
proc.registerOutParameter(1,OracleTypes.CURSOR);
proc.execute();
while(rs.next()){
System.out.println(rs.getObject(1)+"\t"+rs.getObject(2));
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(null!=rs){
rs.close();
if(null!=proc){
proc.close();
}
if(null!=conn){
conn.close();
}
}
}catch(Exception ex){
}
}
}
}
发表评论
-
网页标签过滤
2012-05-14 15:49 967package com.xcy.babyonline.c ... -
图片压缩
2012-05-14 15:48 1634/** * WriteImage.java Crea ... -
BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
2012-02-24 17:11 982一、简介: BeanUtils提供 ... -
[转]给网站上传的图片盖章
2011-12-30 16:13 901/****************************** ... -
[转] 给网站上传的图片盖章
2011-12-30 16:12 968/****************************** ... -
java 给图片加文字水印
2011-12-30 16:10 2120java给图片加水印,在网上有很多资料,但我想要一个能自适 ... -
joda time 方便快捷 .
2011-12-01 11:08 854操作日期不再那么麻烦 DateTime dt ... -
jsp 往 FTP 上传文件问题
2011-11-21 18:17 2458FtpUtil: import java.io.DataI ... -
Java中读取字节流并按指定编码转换成字符串的方法
2011-11-21 18:13 1162该方法中使用一个无限循环,从字节流中读取字节,存放到byte数 ... -
InputStream转String
2011-11-21 18:09 1171org.apache.commons.io.output.B ... -
在EditPlus中配置JDK编译JAVA的详细方法
2011-08-09 18:17 726在EditPlus中配置JDK编译JAVA的详细方法 -
Linux下Jsp环境搭建 Java平台 Tomcat安装 MySQL安装配置
2011-05-11 14:08 1501安装软件 1、安装JDK(因JDK包含JRE,若原来装 ... -
Java中怎么遍历map中value值
2011-04-22 15:21 1280//两种方法,有问题,给我发百度消息 public sta ... -
Java 获取指定日期的方法总结
2011-04-13 19:14 1530格式化日期 String-->Date 或者 Data ... -
java位与运算
2011-02-11 17:20 2138位与运算的实质是将参与运算的两个数据,按对应的二进制数逐位进行 ... -
技术网站
2011-02-11 11:03 843OpenSource: http://www.open-ope ... -
Java或Web中解决所有路径问题
2011-01-27 09:58 861Java中使用的路径,分为两种:绝对路径和相对路径。归根结底, ... -
给出一个字符串或其他,返回一个指定长度的字符串,长度小于指定长度,用指定字符填充
2011-01-19 17:25 1317实现代码如下: publ ... -
JDK命令详解
2010-12-28 15:25 820转自:http://www.historycreator.co ... -
XFIRE_WEBSERVICES实例
2010-12-13 18:30 804服务器端 接口 package com.server ...
相关推荐
java调用oracle存储过程或者函数
通过实例详细介绍了用java调用oracle存储过程的方法和步骤,包括无返回值的存储过程、有返回值的存储过程(非列表)和返回列表的存储过程的编写、JAVA调用,是一个对存储过程调用的一个全面总结,对程序开发具体实际...
java调用oracle存储过程返回结果集,Record,cursor参照.pdf
Java调用oracle存储过程
java调用oracle存储过程入门实例 增删改查 使用dom4j读取数据库的配置文件(xml) jdbc中connection的管理 使用threadlocal
java调用oracle存储过程实现增删改查
自己整理的,JAVA调用ORACLE存储过程 例子。
JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
讲有关java如何调用ORACLE存储过程以及游标使用,它只包含JAVA调用ORACLE存储过程游标使用(上),还有JAVA调用ORACLE存储过程游标使用(上),
本文用一个案例系统的介绍了怎样用java调用oracle存储过程
Java调用Oracle存储过程的方法
提供JAVA调用ORACLE存储过程通用类
java 调用oracle存储过程 ,里面有很多的源代码,相信对初学java的很有帮助哦。
NULL 博文链接:https://fruitking.iteye.com/blog/1447333
java调用oracle存储过程的几个小示例+分页