ibatis oracle 存储过程

本文介绍了一个使用MyBatis调用Oracle存储过程的例子,包括配置文件与Java代码两部分。通过定义resultMap和parameterMap,实现了Java对象与数据库列之间的映射,并通过procedure标签调用了存储过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.配置文件

  1. <resultMap id="result-map" class="com.xxx.xxx.Table">  
  2.     <result property="rsId" column="id" />  
  3.     <!--在Java对象跟Oracle列之间转换 -->  
  4. </resultMap>  
  5. <parameterMap id="parameter-map" class="java.util.HashMap" >    
  6.     <parameter property="param1" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>    
  7.     <parameter property="param2" jdbcType="Integer" javaType="java.lang.Integer" mode="IN"/>    
  8.     <parameter property="result" jdbcType="ORACLECURSOR" javaType="java.sql.ResultSet" mode="OUT" />  
  9. </parameterMap>  
  10. <procedure id="testCur" resultMap="result-map" parameterMap="parameter-map">    
  11.     {call testProcedures(?, ?, ?)}    
  12. </procedure>  

2.java代码

  1. Map paramMap = new HashMap();   
  2. String str = request.getParameter(.....);   
  3. int n = request.getParameter(.....);   
  4. paramMap.put("param1",str);   
  5. paramMap.put("param2",n);   
  6. List detailList = null;    
  7. try{   
  8. detailList = getSqlMapClientTemplate().queryForList("testCur", paramMap);   
  9. //可以用getSqlMapClientTemplate().queryForObject("testCur", paramMap); 返回值是Object。   
  10. }catch(Exception ex){   
  11. ex.printStackTrace();   
  12. }   
  13. return detailList;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值