• jdbc Template 存储过程 返回多个结果 ,out 输出参数


    public ReportVo getReport() {
      //执行存储过程
    ReportVo reportVo=jdbcTemplate.execute(new CallableStatementCreator() {
    @Override
    public CallableStatement createCallableStatement(Connection connection) throws SQLException {
            //注意:这里会有坑, 有几个参数就写几个问号{CALL management_report(?,?,?,?,?,?)}

    String sql = "{CALL management_report(?,?,?,?,?,?)}";
                CallableStatement prepareCall = connection.prepareCall(sql);
    prepareCall.registerOutParameter(1, Types.INTEGER);
    prepareCall.registerOutParameter(2, Types.INTEGER);
    prepareCall.registerOutParameter(3, Types.DOUBLE);
    prepareCall.registerOutParameter(4, Types.DOUBLE);
    prepareCall.registerOutParameter(5, Types.INTEGER);
    prepareCall.registerOutParameter(6, Types.INTEGER);
    return prepareCall;
    }
    }, new CallableStatementCallback<ReportVo>() {
    @Override
    public ReportVo doInCallableStatement(CallableStatement callableStatement) throws SQLException, DataAccessException {
    callableStatement.execute();
    int partyGroupCount=callableStatement.getInt(1);
    int personCount=callableStatement.getInt(2);
    Double shipPlateSum=callableStatement.getDouble(3);
    Double palletSum=callableStatement.getDouble(4);
    int shipPlateCount=callableStatement.getInt(5);
    int palletCount=callableStatement.getInt(6);
    return new ReportVo( personCount, partyGroupCount, shipPlateSum, palletSum, shipPlateCount, palletCount);
    }
    });
    return reportVo;
    }
  • 相关阅读:
    redis报Cannot allocate memory错误
    Python输入输出
    leedcode题目 :罗马数字转整数 Java
    form 表单中input 使用disable属性
    今天开始学习
    equals的用法的注意事项
    mybatis的优缺点
    安装oracle出现环境不满足最低要求
    史上最形象易懂的java代理
    MySQL中光标的使用细节
  • 原文地址:https://www.cnblogs.com/xiqoqu/p/11647358.html
Copyright © 2020-2023  润新知