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;
}

jdbc Template 存储过程 返回多个结果 ,out 输出参数的更多相关文章

  1. sql server使用sp_executesql返回拼接字符串里面的输出参数

    问题: 今天一同事请教博主,他拼接了一个语句,select表格形式数据,然后使用@@rowcount获取到行数. 但他又有这样特别的需求:想只获取行数而不返回表格数据结果,因为是while循环,不想返 ...

  2. oracle学习笔记(二十三)——JDBC调用存储过程以及批量操作

    jdbc调用存储过程 使用并获得out模式的参数返回值 //存储过程为sum_sal(deptno department.deptno%type,sum in out number) Callable ...

  3. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  4. myabatis oracle 调用存储过程返回list结果集

    Mapper.xml 配置 <resultMap type="emp" id="empMap"> <id property="emp ...

  5. oracle学习-存储过程返回一个值,和返回一个结果集

    一.返回一个值 --创建存储过程 create or replace procedure sp_hu_test(spcode in varchar2,spname out varchar2)is be ...

  6. Java数据库连接——JDBC调用存储过程,事务管理和高级应用

    一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...

  7. JDBC调用存储过程

    一. JDBC调用存储过程 (1)使用存储过程SQL编写的程序代码,等一段语句和控制流语句.在创建时被编译成机器代码和存储在数据库中的client转让. 存储过程具有以下优势: 1.所生成的机器代码被 ...

  8. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

  9. JDBC调用存储过程的例子

    下面是我学到了Oracle存储过程,在这里跟大家简单的分享一下利用JDBC调用存储过程的例子: 废话就不啰嗦,现在就直接上机代码. 首先我利用的是Oracle中默认的 scott 数据库里的 emp员 ...

随机推荐

  1. HTMLTestRunner 报告框架使用

    HTMLTestRunner 报告框架使用 file_path = base_path + '/Report/report.html' with open(file_path, 'wb') as f: ...

  2. Linux系统国内镜像站点

    一,更换说明 第一步 备份 如centos, mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

  3. oracle_(第一课) 安装oracle数据库

    首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...

  4. Pay Back(模拟)

    链接:https://ac.nowcoder.com/acm/contest/1086/C 题目描述 "Never a borrower nor a lender be." O h ...

  5. 吴裕雄--天生自然python学习笔记:python 用 Open CV 进行人脸识别

    要对特定图像进行识别,最关键的是要有识别对象的特征文件, OpenCV 己内置 了人脸识别特征文件,我们只需使用 OpenCV 的 CascadeClassifier 类即可进行识别 . 创建 Cas ...

  6. PAT甲级——1058 A+B in Hogwarts

    1058 A+B in Hogwarts If you are a fan of Harry Potter, you would know the world of magic has its own ...

  7. python之os和sys模块的区别

    一.os模块 os模块是Python标准库中提供的与操作系统交互的模块,提供了访问操作系统底层的接口,里面有很多操作系统的函数 1.os常用方法 import os # print(os.getcwd ...

  8. VSTO开发中级教程 配套资源下载

    项目实例源代码: 编程过程中用到的工具.软件: 教学视频:

  9. laravel如何输出最后一条执行的SQL

    \DB::connection()->enableQueryLog(); // 开启查询日志 \DB::table('xxx'); // 要查看的sql $queries = \DB::getQ ...

  10. php获取服务器和mysql等信息输出到页面(基于ci框架)

    function show($varName) {    switch($result = get_cfg_var($varName)) {     case 0:      return '< ...