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

1 篇文章 0 订阅
2 篇文章 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

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值