package cn.et;
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.Types;
/* * 调用存储过程 * {call 存储过程名(?,?,?)} 过程有几个参数就写几个问号 * * 调用函数 * {?=call 函数名(?,?)} 有几个参数就写几个问号 */ public class Test { public static void main(String[] args) throws Exception {
} //调用存储过程 @org.junit.Test public void callProdecre() throws Exception{ String sql="{call prg_add(?,?,?)}"; Connection conn=OracleDbUtil.getConnection(); CallableStatement cs = conn.prepareCall(sql); cs.setInt(1, 7777); cs.setInt(2, 7987); //返回值 Types.INTEGER设值返回的类型 cs.registerOutParameter(3, Types.INTEGER); //执行 cs.execute(); //获取返回值 int a=cs.getInt(3); System.out.println(a); }
//调用函数 @org.junit.Test public void callfuntion() throws Exception{ String sql="{?=call fun_add(?,?)}"; Connection conn=OracleDbUtil.getConnection(); CallableStatement cs=conn.prepareCall(sql); //设置第二个问好的值 因为第一个是问号是返回值 cs.setInt(2,355); cs.setInt(3, 4545); //设值返回值类型 Types.INTEGER cs.registerOutParameter(1, Types.INTEGER); cs.execute(); System.out.println(cs.getInt(1)); } } --------------------- 作者:phone13144830339 来源:CSDN 原文:blog.csdn.net/phone131448… 版权声明:本文为博主原创文章,转载请附上博文链接!
|
|