spring jdbctemplate调用procedure(返回游标)
package cn.com.git.htsc.uac.core.repository.report; import cn.com.git.htsc.uac.core.api.dto.report.ReportCampaignDayOutDTO;
import oracle.jdbc.OracleTypes;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.SqlOutParameter;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.simple.SimpleJdbcCall;
import org.springframework.stereotype.Repository; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map; /**
* Created by wangyang on 2016/10/28.
*/
@Repository
public class ReportCampaignTotalRepository {
@Autowired
private JdbcTemplate primaryJdbcTemplate; public List<ReportCampaignDayOutDTO> getCampaignTotal(String start_date,String end_date,String campId,String deptId,String statu){
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(primaryJdbcTemplate).withProcedureName("pro_credit_total").declareParameters(
new SqlOutParameter("results_out", OracleTypes.CURSOR, new QueryExchangeOrderDTOTypeMapper())
);
MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource();
mapSqlParameterSource.addValue("startd", start_date);
mapSqlParameterSource.addValue("endd", end_date);
mapSqlParameterSource.addValue("actiid", campId);
mapSqlParameterSource.addValue("deptid", deptId);
mapSqlParameterSource.addValue("stat", statu);
Map<String, Object> results = jdbcCall.execute(mapSqlParameterSource);
List<ReportCampaignDayOutDTO> results_out = (List<ReportCampaignDayOutDTO>) results.get("results_out");
return results_out;
} private class QueryExchangeOrderDTOTypeMapper implements RowMapper {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
ReportCampaignDayOutDTO dayOutDTO=new ReportCampaignDayOutDTO();
dayOutDTO.setCampaignId(rs.getString("campaign_id"));
dayOutDTO.setDayJoinPersonNum(rs.getLong("day_join_person_num"));
dayOutDTO.setDayJoinCountNum(rs.getLong("day_join_count_num"));
dayOutDTO.setDayCreditEarnNum(rs.getLong("day_credit_earn_num"));
dayOutDTO.setDayCreditExpendNum(rs.getLong("day_credit_expend_num"));
return dayOutDTO;
}
}
}
spring jdbctemplate调用procedure(返回游标)的更多相关文章
- spring jdbctemplate调用存储过程,返回list对象
注:本文来源于< spring jdbctemplate调用存储过程,返回list对象 > spring jdbctemplate调用存储过程,返回list对象 方法: /** * 调用 ...
- mybatis 调用存储过程 返回游标 实例
存储过程示例: create or replace procedure Fsp_Plan_CheckPrj(v_grantno varchar2, v_deptcode number, v_curso ...
- Spring JdbcTemplate 调用存储过程
遇到调用存储过程的业务,以前有用过,但不是用Spring的 JdbcTemplate去做的,这次是在一个已经有的SpringMVC框架的项目下写处理存储过程的. 参考网络中的方法,在实际操作中遇到两个 ...
- 解决Spring JdbcTemplate调用queryForObject()方法结果集为空时报异常
JdbcTemplate用的时候发现一个问题:调用queryForObject()方法,如果没有查到东西则会抛一个异常:org.springframework.dao.EmptyResultDataA ...
- jdbctemplate 调用oracle 有返回(会话型临时表数据的)结果的存储过程
注:本文为博主 原创. jdbctemplate 调用oracle存储过程 事务 临时表 有返回结果 1:java 代码 本逻辑代码本是想把 java 代码里的list<Strign>类 ...
- Spring如何使用JdbcTemplate调用存储过程的三种情况
注:原文 <Spring如何使用JdbcTemplate调用存储过程的三种情况 > Spring的SimpleJdbcTemplate将存储过程的调用进行了良好的封装,下面列出使用Jdbc ...
- jdbcTemplate 调用存储过程。 入参 array 返回 cursor
注:本文来源< jdbcTemplate 调用存储过程. 入参 array 返回 cursor > 需求: java传入一个list object.从数据库找到相关的数据并返回. ...
- Matlab调用返回游标的存储过程的分析和处理
2.Matlab调用Oracl带游标参数输出的存储过程 笔者也是将工作之中遇到的问题进行了搜集与整理,才完成该文的编写,希望能帮助到有需要的朋友. 2.1.PLSQL中的存储过程 PROCEDURE ...
- Oracle 存储过程调用返回游标的另一个存储过程。
一个扩展存储过程调用另一个存储过程,示例: 被调用存储过程:最后会返回一个游标,游标返回一个值.调用这个存储过程的存储过程同样需要获取它. procedure SearchBill --根据到货单号查 ...
随机推荐
- poj2482
(题外话:这题这是ACMer的福利啊……)我非常不擅长做矩形类的数据结构一般来说,二维的问题我们要转化为一维来考虑感觉一般的手法是对一维排序,并且线性扫描这一维,然后用各种数据结构维护另一维上的最优值 ...
- IE 弹出"Unable to do xml/xsl" Processing
解决方法:
- codeforces --- 115A
A. Party time limit per test 3 seconds memory limit per test 256 megabytes input standard input outp ...
- 网络子系统42_ip协议处理函数_数据帧的接收
//向协议栈注册l3处理函数 1.1 void dev_add_pack(struct packet_type *pt) { int hash; //ptype_all ptype_base共用一把锁 ...
- spark 启动时候报 Unable to load native-hadoop library for your platform 警告
hadoop2.6.4 jdk1.8 spark2.0.1 方案1: 在spark的conf目录下,修改spark-env.sh文件加入LD_LIBRARY_PATH环境变量,值为hadoop的nat ...
- grunt个人理解
最近在学习grunt的内容,也希望能将grunt使用在新的项目中,本文是对grunt的相关概念的个人理解,仅供与道友们交流和学习,如有疑义,欢迎道友们指点. 首先,grunt是基于nodejs的,那就 ...
- UML 的基本组成
UML 是由UML构造块.规则.通用机制三部分组成的.而UML构造块由建模元素(事物).关系和图组成. 建模元素 建模元素是对模型中最具有代表性的成分的抽象.一般情况下,将建模元素分为结构元素.行为元 ...
- 6 Java学习之 枚举
1. 概念 枚举是一种规范,它规范了参数的形式,这样就可以不用考虑类型的不匹配,并且显示的替代了int型参数可能带来的模糊概念. 常用来定义一个final类型的变量(常量),保证输入安全.如 ...
- 把数据库中表的内容转存为XML文件
把数据库中表的内容转存为XML字符串() ::::) " Code" IsThirdStock" CreateUser::" Code ...
- mxGraph实现按住ctrl键盘拖动图形实现复制图形功能
实现这个功能很easy,仅仅须要重写moveCells方法就能够了.以下是源文件里的代码: mxGraph.prototype.moveCells = function(cells, dx, dy, ...