Oracle学习-存储过程及调用
2017-03-03 15:17
260 查看
写了存储过程就必须会调用,不然用来干嘛勒
存储过程--查询用户姓名,年龄,月薪
链接:http://pan.baidu.com/s/1kVc8IPL 密码:unbz
存储过程--查询用户姓名,年龄,月薪
create or replace procedure queryuserinfo(pid in number,pname out VARCHAR2,page out NUMBER,pmoney out VARCHAR2) as begin select name,age,money into pname,page,pmoney from tb_user where id = pid; end;Oracle连接--JDBCUtil
package jdbc.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBCUtils { private static String driver = "oracle.jdbc.OracleDriver"; private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; private static String user = "xhs"; private static String password = "123456"; // 注册数据库的驱动 static { try { Class.forName(driver); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } // 获取数据库连接 public static Connection getConn() { try { return DriverManager.getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); } return null; } // 释放数据库资源 public static void release(Connection conn, Statement st, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } finally { rs = null; } } if (st != null) { try { st.close(); } catch (SQLException e) { e.printStackTrace(); } finally { st = null; } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } finally { conn = null; } } } }调用:
package jdbc.test; import java.sql.CallableStatement; import java.sql.Connection; import org.junit.Test; import jdbc.utils.JDBCUtils; import oracle.jdbc.driver.OracleTypes; public class testProcedure { @Test public void testUserProcedure(){ String sql = "{call queryuserinfo(?,?,?,?)}"; Connection conn=null; CallableStatement call =null; try { conn=JDBCUtils.getConn(); call=conn.prepareCall(sql); call.setInt(1, 25); call.registerOutParameter(2, OracleTypes.VARCHAR); call.registerOutParameter(3, OracleTypes.NUMBER); call.registerOutParameter(4, OracleTypes.VARCHAR); call.execute(); String name = call.getString(2); String age = call.getString(3); String money = call.getString(4); System.out.println(name+"的年龄是"+age+"月薪是"+money); } catch (Exception e) { e.printStackTrace(); }finally{ JDBCUtils.release(conn, call, null); } } }oracle的jdbc jar包:
链接:http://pan.baidu.com/s/1kVc8IPL 密码:unbz
相关文章推荐
- oracle存储过程学习经典[语法+实例+调用]
- 4000 oracle学习分页存储过程和jdbc调用
- Oracle学习 第30天 C#调用存储过程和语句
- 学习下oracle的存储过程增删改查操作以及java调用存储过程
- c# .net 调用oracle存储过程学习例子
- 【学习】java下实现调用oracle的存储过程和函数
- c#程序中调用Oracle存储过程上传二进制文件
- Oracle基础学习三:过程PROCEDURE 和函数FUNCTION 的创建及调用
- 用.NET调用oracle的存储过程返回记录集
- 一个简单的oracle分页存储过程的实现和调用
- VC调用存储过程的通用方法(ORACLE篇)
- Spring 调用ORACLE存储过程的结果
- Spring调用ORACLE存储过程的结果集
- Spring 调用ORACLE存储过程的结果集
- otl调用Oracle 9i存储过程
- 关于asp调用oracle存储过程的问题
- VC调用存储过程的通用方法(ORACLE篇)
- Delphi 调用 Oracle 存储过程并返回数据集的例子.
- 一个简单的oracle分页存储过程的实现和调用
- jsp中调用Bean,然后在Bean中调用oracle存储过程。