Java 执行数据库存储过程,并带返回值

2 篇文章 0 订阅
1 篇文章 0 订阅

前提是加载资源DataSource

private JdbcTemplate jdbcTemplate;

Java 调用存储过程:

 @Override
    public String oneUniscInfoHisToDm(final String uniscInfoHisId) {  
        jdbcTemplate = new JdbcTemplate(getDataSource());
        String result = (String) jdbcTemplate.execute(   
             new CallableStatementCreator() {   
                public CallableStatement createCallableStatement(Connection con) throws SQLException {   
                   String storedProc = "{call unisc_his_to_unisc_info_new (?,?)}";// 调用的sql   
                   CallableStatement cs = con.prepareCall(storedProc);   
                   cs.setString(1, uniscInfoHisId);// 设置输入参数的值   
                   cs.registerOutParameter(2,OracleTypes.INTEGER);// 注册输出参数的类型   
                   return cs;   
                }   
             }, new CallableStatementCallback<Object>() {   
                 public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {   
                   cs.execute();   
                   return cs.getString(2);// 获取输出参数的值   
             }   
          });   
          return result;
    }  

原文:http://blog.csdn.net/zjw10wei321/article/details/44151751

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值