ITPub博客

首页 > 应用开发 > Java > DAO中调用oracle存储过程方法

DAO中调用oracle存储过程方法

原创 Java 作者:1984008004 时间:2015-05-28 11:22:30 0 删除 编辑
@Override
public String insertPrizeNumInfo(String msisdn , String prizeID ,String prizeName) {




log.info("PrizeNumInfoDaoImpl insertPrizeNumInfo:sql:{call p_get_prize(?,?,?,?)}");
log.info("PrizeNumInfoDaoImpl insertPrizeNumInfo:parameters:" + msisdn + "," +  
prizeID + "," + prizeName );


final String pmsisdn = msisdn;
final String pprizeID = prizeID;
final String pprizeName = prizeName;
String res = (String) this.execute(
new CallableStatementCreator() {
public CallableStatement createCallableStatement(Connection con) throws SQLException {
        String storedProc = "{call p_get_prize(?,?,?,?)}";// 调用的sql
CallableStatement cs = con.prepareCall(storedProc);
cs.setString(1, pmsisdn);// 设置输入参数的值
cs.setString(2, pprizeID);// 设置输入参数的值
cs.setString(3, pprizeName);// 设置输入参数的值


cs.registerOutParameter(4, OracleTypes.VARCHAR);// 注册输出参数的类型


        return cs;
}
  }, new CallableStatementCallback() {
       public Object doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException {
        cs.execute();
        return cs.getString(4);// 获取输出参数的值
       }
  });
return res;
}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25903968/viewspace-1674960/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-04-03

  • 博文量
    38
  • 访问量
    133607