mybatis调用存储过程demo

一、数据库存储过程:

create or replace procedure pro_check_balance_test(mer_id in varchar2, mer_date in varchar2, error_num out integer) as
v_par varchar2(8);
v_parvalue varchar2(2);
v_sql varchar2(1024);
v_ErrorCode number;
v_ErrorText varchar2(255);
begin


    error_num := 3;


end;


二、dao接口层代码:

Map mrktcheck(Map map);

三、mybatis配置xml代码

<select id="mrktcheck" statementType="CALLABLE" parameterType="java.util.Map" resultType="java.util.Map">
   <![CDATA[
          {call pro_check_balance_test(
             #{merId,mode=IN,jdbcType=VARCHAR},
             #{merDate,mode=IN,jdbcType=VARCHAR},
             #{errorNum,mode=OUT,jdbcType=INTEGER}
          )}
      ]]>
</select>


四、单元测试代码:

@Test
public void  mrktcheckTest(){
   try {
      ProProductDao proProductDao = BeanContainerFactory
            .getBeanContainer(ProProductDao.class.getClassLoader())
            .getBean(ProProductDao.class);
      Map<String, Object> mp = new HashMap<String, Object>();
      mp.put("merId", "3");
      mp.put("merDate", "3");
      mp.put("errorNum", null);
      proProductDao.mrktcheck(mp);
      Object c = mp.get("errorNum");
   } catch (Exception e) {

   }
 
五、注意点:
1. <![CDATA[  ]]>  标签的使用可以解决存储过程不识别的问题
2.如果不添加resultType="java.util.Map" 导致返回的map为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值