mybatis调用oracle存储过程(有出参和入参)

mybatis调用oracle存储过程

存储过程:

create or replace PROCEDURE SP_YDD_HSSRHZ(
										  ad_date_b   date,
                                          ad_date_e   date,
                                          ai_mzzy     number,
                                          ai_tjfs     number,
                                          ai_forgid   number,
                                          as_frcode   varchar2,
                                          out_cur     out his_cxtj.ref_cur) is
  vd_begin date;
  vd_end   date;
  v_frcode varchar2(6);

直接上代码;xml

<resultMap type="java.util.HashMap" id="cursorDeanMangeMap">
	     <result column="xmname" property="xmname"/>
	     <result column="fyhzgl" property="fyhzgl"/>
	     <result column="sl" property="sl"/>
	     <result column="je" property="je"/>
	</resultMap>
	<select id="findInfo" parameterType="java.util.HashMap" statementType="CALLABLE" resultMap="cursorDeanMangeMap">
		{call SP_YDD_HSSRHZ(
		  #{begindate,mode=IN,jdbcType=DATE},
		  #{enddate,mode=IN,jdbcType=DATE},
		  #{mzzy,mode=IN,jdbcType=DECIMAL},
		  #{tjfs,mode=IN,jdbcType=DECIMAL},
		  #{forgid,mode=IN,jdbcType=INTEGER},
		  #{frcode,mode=IN,jdbcType=VARCHAR},
		  #{v_cursor,mode=OUT,jdbcType=CURSOR,resultMap=cursorDeanMangeMap} )}
	
	</select>

dao层:

void findInfo(Map<String, Object> param);

service;(注:以map入参,调用存储过程,存储返回的的参数,直接返回在入参的map中)

 public List<Map<String, Object>> findInfo(Map<String, Object> param) {
        deanManagementDao.findInfo(param);
        List<Map<String, Object>> list = (List<Map<String, Object>>) param.get("v_cursor");//取值
        return list;
    }

controller;

 param.put("begindate", DateUtil.formatDate(ad_date_b, "yyyy-MM-dd"));
            param.put("enddate", DateUtil.formatDate(ad_date_e, "yyyy-MM-dd"));
            param.put("mzzy",BigDecimalUtil.numToDecimal(ai_mzzy));
            param.put("tjfs", BigDecimalUtil.numToDecimal(ai_tjfs));
            param.put("forgid", BigDecimalUtil.numToDecimal(ai_forgid));
            param.put("frcode", as_frcode);
            List<Map<String, Object>> list = deanManagementDubboService.findInfo(param);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值