mybatis调用存储过程

1.首先在oracle中创建存储过程 PRO_GET_FAX_TASK

2.在配置文件xml中:

	<select id="getAllFaxTaskCallable" statementType="CALLABLE" parameterType="java.util.HashMap">
		<![CDATA[  
			{call  PRO_GET_FAX_TASK(
			#{userId,mode=IN,jdbcType=NUMERIC},
			#{subject,mode=IN,jdbcType=VARCHAR},
			#{taskNumber,mode=IN,jdbcType=VARCHAR},
			#{dateStart,mode=IN,jdbcType=VARCHAR},
			#{dateEnd,mode=IN,jdbcType=VARCHAR},
			#{pageSize,mode=IN,jdbcType=NUMERIC},
			#{pageNo,mode=IN,jdbcType=NUMERIC},
			#{orderBy,mode=IN,jdbcType=VARCHAR},
			#{rowSum,mode=OUT,jdbcType=NUMERIC},
			#{pageSum,mode=OUT,jdbcType=NUMERIC},
			#{result,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=faxTaskResultMap})}
		]]> 
	</select>

ps:这里要注意statementType="CALLABLE" 没有这句的话就不是调用存储过程的

3.在dao层调用配置文件

sqlSessionTemplate.selectOne("com.kinglo.promotion.pojo.FaxTask.getAllFaxTaskCallable", map);

ps:这里的selectOne和selectList感觉没什么区别;

传入的参数是个map,因此返回的result结果就在你传入的这个map中.所以我们可以这样返回结果:

return (List<FaxTask>)map.get("result");


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值