Welcome 微信登录

首页 / 数据库 / MySQL / Java中调用Oracle中的存储过程的单元测试代码

Oracle中的存储过程:/*创建一个存储函数,返回指定员工的姓名,薪水和年收入*/create or replace function queryEmp2(eno in number, empname out VARCHAR2,empsal out NUMBER)--返回年收入return NUMBERasbegin  select ename,sal into empname, empsal from emp where empno=eno;  --返回年收入  return empsal*12 + nvl(empsal,0);
end;/调用上面的存储过程的单元测试:package demo;
import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;
import org.junit.Test;
public class Demo {@Testpublic void testQueryEmpl() throws Exception {//注册驱动Class.forName("oracle.jdbc.OracleDriver");//注意如果端口不是1521时,这时要给他改掉。String url = "jdbc:oracle:thin:@localhost:1521:orcl";//默认使用的是orcale中的用户scottString user = "scott";//scott的用户名和密码是tigerString password = "tiger";//调用存储过程。String sql = "{call queryEmpl2(?,?,?)}";
Connection conn = DriverManager.getConnection(url,user,password);CallableStatement call = conn.prepareCall(sql);
//赋参数值call.setInt(1, 7839);//对于out参数//下面的方法是告诉输出的数据的参数类型,即Oracle中的varchar类型。call.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);call.registerOutParameter(3, oracle.jdbc.OracleTypes.NUMBER);
//执行call.execute();//取结果,获得名字和薪水String name = call.getString(2);double sal = call.getDouble(3);
System.out.println(name + " " + sal);
//关闭资源call.close();conn.close();}}Linux 下 mysql 找不到 mysql.sock 文件的解决办法Linux平台下如何使用MySQL免安装版(二进制版)相关资讯      Oracle存储过程 
  • Oracle存储过程拼接in语句 & 自定  (今 09:21)
  • 【PL/SQL系列】Oracle存储过程使用  (04月23日)
  • Oracle存储过程及Java调用  (05/28/2015 20:29:33)
  • Java调用Oracle存储过程返回多条结  (04月29日)
  • Oracle中的存储过程简单应用  (04月10日)
  • 判断点是否落在面中的Oracle存储过  (05/09/2015 09:39:30)
本文评论 查看全部评论 (0)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间