1)创建出参为游标的存储过程

--创建一个产品合作伙伴的package

create or replace package XXX.product_partner_proc is

-- Author  : XXX

-- Created : 2014/11/11 9:39:29

-- Purpose : XXX

-- Public function and procedure declarations

type T_CURSOR is ref cursor;

procedure get_sale_partner_um_code(p_partner_code IN VARCHAR2,

re_cursor   OUT T_CURSOR );

end product_partner_proc;

create or replace package body product_partner_proc is

PROCEDURE get_sale_partner_um_code(p_partner_code IN VARCHAR2,re_cursor  OUT T_CURSOR) IS

BEGIN

OPEN re_cursor FOR

SELECT distinct company_code as um_code

FROM assistance_company;

EXCEPTION

WHEN OTHERS THEN

OPEN re_cursor FOR

SELECT '' um_code FROM dual WHERE 1 = 2;

END get_sale_partner_um_code;

end product_partner_proc;

GRANT EXECUTE ON XXX.product_partner_proc TO prodopr;

2)ibatis配置:注意事项是,对应的参数要和存储过程中对应

<resultMap id="accountResult" class="AgentDTO">

<result property="account" column="um_code"/>

</resultMap>

<parameterMap id="partnerAccountParam" class="java.util.Map">

<parameter property="p_partner_code" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />

<!-- parameter在配置是不要换行,换行可能会有问题 -->

<parameter property="re_cursor" jdbcType="ORACLECURSOR"

javaType="java.sql.ResultSet" mode="OUT" resultMap="accountResult"/>

</parameterMap>

<procedure id="queryPartnerAccouts" parameterMap="partnerAccountParam">

{call proddata.product_partner_proc.get_sale_partner_um_code(?,?)}

</procedure>

3)java代码调用::注意事项是,对应的参数要和存储过程中对应

public List<AgentDTO> queryPartnerAccouts(String partnerCode) throws PafaDAOException {

try {

Map<String, Object> paramMap = new HashMap<String, Object>();

List cursorList = new ArrayList();

paramMap.put("p_partner_code", partnerCode);

paramMap.put("re_cursor", cursorList);

super._queryForObject("queryPartnerAccouts", paramMap);

List<AgentDTO> list = (List<AgentDTO>) paramMap.get("re_cursor");

return list;

} catch (Exception e) {

}

}

转载于:https://blog.51cto.com/6817977/1575432

ibatis中如何调用出参为游标的存储过程相关推荐

  1. c#如何调用有参无返回值存储过程和有参有返回值存储过程,以及IDataParameter[]如何赋值(包含decimal值的转换)

     第一步先创建数据库链接方法 1.定义访问数据库的方法/// <summary>/// 执行存储过程/// </summary>/// <param name=" ...

  2. java调用gbase存储过程,GBase 8T数据库存储过程使用出参示例

    GBase 8T数据库的存储过程支持入参,出参 out ,入出参 inout. 以下以示例说明存储过程的入参,出参,以及使用存储过程调用出参的过程及方法. 1, 创建存储过程 入参.出参. drop ...

  3. ibatis中使用List作为传入参数的使用方法及 CDATA使用

    ibatis中list做回参很简单,resultClass设为list中元素类型,dao层调用: (List)getSqlMapClientTemplate().queryForList(" ...

  4. mysql存储过程出参和入参_数据库mysql存储中的入参出参理解

    在使用语句的时候,不可避免的要考虑参数的问题,而参数又是用来辅助变量的.有些小伙伴看到我们标题中的入参形参不知道是什么意思,其实也不难理解.我们把出参和入参看成输入和输出的意思就可以了.想必这样说大家 ...

  5. Java基础学习总结(168)——为什么推荐在RPC的接口中入参和出参都不要使用枚举

    前言: 为什么推荐在RPC的接口中入参和出参都不要使用枚举.最近,我们的线上环境出现了一个问题,线上代码在执行过程中抛出了一个IllegalArgumentException,分析堆栈后,发现最根本的 ...

  6. java怎么无参构造方法_Java中如何在无参构造方法中调用有参构造?

    展开全部 一般正常的都是参数多的调用参数少的.有参数的调用无参数的居e68a843231313335323631343130323136353331333365643537多. 当然你要无参调用的参的 ...

  7. ibatis mysql存储过程_分步详解 如何在iBatis中调用存储过程

    通过iBatis我们可以在数据库表中执行内嵌的insert , delete, update SQL命令.本文中你将看到如何在iBatis中调用存储过程. 我们使用MySQL数据库,并且使用和上一个例 ...

  8. 浏览器如何在f12中查看接口地址_经过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)...

    打开浏览器自带的F12css 看到网络上关于这个总结的比较少,就收集了一些资料作个总结,有错的麻烦指出,谢谢!  一开始用的是谷歌浏览器,后来接触到火狐浏览器,忽然感受更加容易理解和使用,因此就更换一 ...

  9. 通过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)

    看到网络上关于这个总结的比较少,就收集了一些资料做个总结,有错的麻烦指出,谢谢!  一开始用的是谷歌浏览器,后来接触到火狐浏览器,突然感觉更加容易理解和使用,所以就更换一下使用的浏览器.(浏览器这个选 ...

最新文章

  1. 巨石加密_点餐:如何吃一个可怕的巨石
  2. 使用Scroller实现弹性滑动
  3. 评价并不精辟,感觉没有什么深度
  4. IMX6的相关音频结构体的定义
  5. 2021“MINIEYE杯”中国大学生算法设计超级联赛(5)Random Walk 2(推式子+矩阵逆+矩阵乘)
  6. android 分析boot.img,Android 系统准备知识-bootimg文件的结构
  7. 通过ODBC实现ACCESS与SQL数据互导(临安人才网 )
  8. Maven - settings.xml里的offline节点的作用
  9. 关于javaswing做的游戏的一点小总结x
  10. iOS学习之--字符串的删除替换(字符串的常用处理,删除,替换)
  11. excel合并两列内容_Excel中如何跳过空单元格进行粘贴
  12. 欧拉函数与积性函数(互质数)
  13. 1.1快速创建spring boot
  14. SQL server如何自定义服务器名称登陆
  15. navicat计划任务
  16. FF新推荐的本地文件
  17. 非标准化疾病诉求的简单分诊方案总结
  18. 02-链表结构(Linked list)
  19. vb2008 获取u盘id_爱思助手+U盘,实现越狱
  20. Linux下应用进程消失原因分析

热门文章

  1. aida64副屏监控_“遥信”在电力监控系统中的重要作用
  2. el表达式 java_java基础学习:JavaWeb之EL表达式
  3. Docker(四):Docker 命令大全
  4. ios常见加密解密方法
  5. android 选项卡TabHost
  6. 计算机二级C语言程序题常见题型,计算机二级C语言题型和评分标准
  7. 无冬连接不上账号服务器,电脑中玩无冬online掉线怎么回事_电脑中玩无冬online游戏总是掉线如何修复...
  8. python json数据格式数组内元素递增赋值_python深浅复制,类型转换, json操作,数组操作...
  9. 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...
  10. java约瑟夫环 循环链表_约瑟夫环_循环链表JAVA解答