- 浏览: 1340704 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
Oracle 存储过程返回结果集用 ref cursor 实现。试验步骤如下:
1. 建立 ref cursor 类型和过程
2. 用 sqlplus 测试过程
3. 从 Java 调用
1. 建立 ref cursor 类型和过程
CREATE OR REPLACE PACKAGE types AS TYPE ref_cursor IS REF CURSOR; END; / CREATE TABLE STOCK_PRICES( RIC VARCHAR(6) PRIMARY KEY, PRICE NUMBER(7,2), UPDATED DATE ); / CREATE OR REPLACE FUNCTION sp_get_stocks(v_price IN NUMBER) RETURN types.ref_cursor AS stock_cursor types.ref_cursor; BEGIN OPEN stock_cursor FOR SELECT ric,price,updated FROM stock_prices WHERE price < v_price; RETURN stock_cursor; END;
2. 用 sqlplus 测试过程
SQL> var results refcursor SQL> exec :results := sp_get_stocks(20.0) SQL> print results
3. 从 Java 调用
import java.sql.*; import java.io.*; import oracle.jdbc.driver.*; public class JDBCDemo { /** * Compile-time flag for deciding which query to use */ private boolean useOracleQuery = true; /** * Class name of Oracle JDBC driver */ private String driver = "oracle.jdbc.driver.OracleDriver"; /** * Initial url fragment */ private String url = "jdbc:oracle:thin:@"; /** * Standard Oracle listener port */ private String port = "1521"; /** * Oracle style of calling a stored procedure */ private String oracleQuery = "begin ? := sp_get_stocks(?); end;"; /** * JDBC style of calling a stored procedure */ private String genericQuery = "{ call ? := sp_get_stocks(?) }"; /** * Connection to database */ private Connection conn = null; /** * Constructor. Loads the JDBC driver and establishes a connection * * @param host the host the db is on * @param db the database name * @param user user's name * @param password user's password */ public JDBCDemo(String host, String db, String user, String password) throws ClassNotFoundException, SQLException { // construct the url url = url + host + ":" + port + ":" + db; // load the Oracle driver and establish a connection try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException ex) { System.out.println("Failed to find driver class: " + driver); throw ex; } catch (SQLException ex) { System.out.println("Failed to establish a connection to: " + url); throw ex; } } /** * Execute the stored procedure * * @param price price parameter for stored procedure */ private void execute(float price) throws SQLException { String query = useOracleQuery ? oracleQuery : genericQuery; System.out.println("Query: " + query + "n"); CallableStatement stmt = conn.prepareCall(query); // register the type of the out param - an Oracle specific type stmt.registerOutParameter(1, OracleTypes.CURSOR); // set the in param stmt.setFloat(2, price); // execute and retrieve the result set stmt.execute(); ResultSet rs = (ResultSet)stmt.getObject(1); // print the results while (rs.next()) { System.out.println(rs.getString(1) + "t" + rs.getFloat(2) + "t" + rs.getDate(3).toString()); } rs.close(); stmt.close(); } /** * Cleanup the connection */ private void cleanup() throws SQLException { if (conn != null) conn.close(); } /** * Prints usage statement on stdout */ static private void usage() { System.out.println("java com.enterprisedt.demo.oracle.JDBCDemo " + " host db user password price"); } /** * Runs the class */ public static void main(String[] args) throws Exception { if (args.length != 5) { JDBCDemo.usage(); System.exit(1); } else { try { // assign the args to sensible variables for clarity String host = args[0]; String db = args[1]; String user = args[2]; String password = args[3]; float price = Float.valueOf(args[4]).floatValue(); // and execute the stored proc JDBCDemo jdbc = new JDBCDemo(host, db, user, password); jdbc.execute(price); jdbc.cleanup(); } catch (ClassNotFoundException ex) { System.out.println("Demo failed"); } catch (SQLException ex) { System.out.println("Demo failed: " + ex.getMessage()); } } } }
发表评论
-
Web开发通用监控类解决方案(代码零侵入性)
2009-07-01 14:00 1173我们开发网站的过程中,经常会碰到这种情况,当调用某个类中函数的 ... -
java获取请求的ip地址,并解析ip所属地区
2009-06-01 09:05 9039每次看见QQ上面能够显示对方的ip和地址让人觉得舒服。。刚刚无 ... -
jsp是上传图片加水印
2009-05-05 14:46 1501参考附件. -
JSP 中路径相关的常用解决办法
2009-04-22 15:58 1897<%@ page language="ja ... -
Jsp页面弹出输入对话框的实现收藏
2009-01-16 16:48 3952在写JSP页面的时候,有时需要点击一个按钮弹出一个输入对话框, ... -
log4j xml配置详解
2008-12-30 08:07 15532<?xml version="1.0" ... -
一个关于java.net.Socket的超时的问题
2008-12-26 10:44 4997从异常信息中,可以看到是read timed out,应该是S ... -
防止刷新带来的重复提交
2008-10-08 14:17 1503------------------------------- ... -
防止盗链
2008-09-04 22:28 1508<%=request.getHeader("R ... -
ip 验证
2008-08-31 23:38 1202if(kk_BlacklistVehicle_UserEnro ... -
用户登陆 封装
2008-08-31 23:37 1166首先要有一个封装类,我用UserInfo package d ... -
加密算法SHA-1,SHA-256,SHA-512,MD2,MD5
2008-08-31 23:33 6152自定义某种算法 package test; ... -
分页技术
2008-07-19 11:33 1389在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JD ... -
对分页的封装
2008-07-16 19:59 1859package com.bjsxt.oa.web; im ... -
Pagger-taglib分页
2008-07-16 17:57 1402<%@ page language="java ... -
JavaScirpt和JSP数据数据交互使用问题
2008-07-03 21:53 1473一、页面中的JavaScript的数据如何提交给后台的jsp程 ... -
用Cookie实现的购物车
2008-07-02 23:17 8284Cusorderitem.java 封装了相关的商品购买信息 ... -
Servlet中文API文档
2008-06-30 14:08 4126基本类和接口 一、javax. ... -
控制 Web 缓存
2008-06-19 21:11 1266控制 Web 缓存 假设两个并发用户(用户 A 和用户 ... -
JSP tag 学习
2008-05-19 20:16 2723在JSP2.0 中,对于自定义的标签有两种实现方法,实现接口或 ...
相关推荐
java调用oracle存储过程返回结果集,Record,cursor参照.pdf
java调用oracle存储过程返回结果集,Record,cursor.[参考].pdf
java调用oracle存储过程或者函数
通过实例详细介绍了用java调用oracle存储过程的方法和步骤,包括无返回值的存储过程、有返回值的存储过程(非列表)和返回列表的存储过程的编写、JAVA调用,是一个对存储过程调用的一个全面总结,对程序开发具体实际...
java调用oracle存储过程实现增删改查
JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程
Java调用oracle存储过程
讲有关java如何调用ORACLE存储过程以及游标使用,它只包含JAVA调用ORACLE存储过程游标使用(上),还有JAVA调用ORACLE存储过程游标使用(上),
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
NULL 博文链接:https://fruitking.iteye.com/blog/1447333
Spring jdbcTemplate调用Oracle存储过程返回List集合
本文用一个案例系统的介绍了怎样用java调用oracle存储过程
Java调用Oracle存储过程的方法
ibatis调用oracle存储过程分页
提供JAVA调用ORACLE存储过程通用类
java调用oracle存储过程入门实例 增删改查 使用dom4j读取数据库的配置文件(xml) jdbc中connection的管理 使用threadlocal
Spring JdbcTemplate调用Oracle存储过程输出游标结果集实现增删改查
能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
自己整理的,JAVA调用ORACLE存储过程 例子。