视频课:https://edu.csdn.net/course/play/7940

Mapper.xml 配置

<resultMap type="emp" id="empMap">

<id property="empno" column="empno"/>

<result property="ename" column="ename"/>

<result property="mgr" column="mgr"/>

<result property="job" column="job"/>

<result property="hiredate" column="hiredate"/>

<result property="sal" column="sal"/>

<result property="comm" column="comm"/>

</resultMap>

<!-- 调用存储过程返回结果集 -->

<select id="getEmps" parameterType="java.util.Map" statementType="CALLABLE">

<![CDATA[

call pro_emp(#{emps,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=empMap})  ]]>

</select>

存储过程:

create or replace procedure pro_emp(cur_sys out sys_refcursor)

as

begin

open cur_sys for select empno, ename, job, mgr, hiredate, sal, comm, deptno

from tb_emp;

end;

IOperation接口里的方法 :

public interface IOperation {

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

}

测试类:

public class Mytest {

private SqlSession sqlSession;

private IOperation mapper;

@Before

public void before(){

try {

SqlSessionFactory factory=MyBatisUtil.getSqlSessionFactory();

sqlSession=factory.openSession();

mapper=sqlSession.getMapper(IOperation.class);

System.out.println("start");

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

@Test

public void getEmps(){

try {

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

param.put("emps",OracleTypes.CURSOR);

mapper.getEmps(param);

List<Emp> depts =(List<Emp>)param.get("emps");

for (Emp emp : depts) {

System.out.println(emp.getEmpno()+" "+emp.getEname());

}

} catch (Exception e) {

System.out.println("getEmp: "+e.getMessage());

}

}

@After

public void after(){

System.out.println("close");

sqlSession.close();

}

}

结果:

start

DEBUG - Openning JDBC Connection

DEBUG - Created connection 8344960.

DEBUG - ooo Using Connection [oracle.jdbc.driver.T4CConnection@7f5580]

DEBUG - ==>  Preparing: call pro_emp(?)

DEBUG - ==> Parameters:

123 liuzan

7369 SMITH

7499 ALLEN

7521 WARD

7566 JONES

7654 MARTIN

7698 BLAKE

7782 CLARK

7788 SCOTT

7839 KING

7844 TURNER

7876 ADAMS

7900 JAMES

7902 FORD

7934 MILLER

close

myabatis oracle 调用存储过程返回list结果集相关推荐

  1. oracle 返回list,myabatis oracle 调用存储过程返回list结果集

    Mapper.xml 配置 call pro_emp(#{emps,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=emp ...

  2. oracle 调用存储过程返回集合插入临时表_技术分享:集合

    1. Iterator 1.1什么是Iterator? 概念:Iterator是一个接口,它是集合的迭代器,集合可以通过Iterator去遍历集合中的元素,常用API接口: 例子: 注意: (1)It ...

  3. 用.NET调用oracle的存储过程返回记录集

    最近做一个项目,为了提高数据库安全性,客户要求所有数据库操作都要放在存储过程.象一般的更新操作,返回一个值的,都比较容易实现.而要想返回记录集就比较麻烦,我在网上搜了一下,这方面的文章并不多.在此总结 ...

  4. java使用mybatis 调用存储过程返回一个游标结果集

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:IBM:Linux on System z Red Hat Enterprise Linux 7 版本:6.0,4.5 文档用途 mybat ...

  5. oracle调用存储过程和函数返回结果集

    视频课:https://edu.csdn.net/course/play/7940 在程序开发中,常用到返回结果集的存储过程,这个在MySQL和sql server 里比较好处理,直接返回查询结果就可 ...

  6. oracle java存储过程返回值_java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)...

    java程序调用Oracle 存储过程 获取返回值(无返回,非结 果集,结果集) oracle中procedure是不能有返回值的,要想返回值,就得有 输出参数,同样要想返回记录集,可以把游标类型作为 ...

  7. VB调用ORACLE存储过程返回多记录集

    一直没有写原创的习惯,每次都是从别的贴子拷贝过来.实在是不好意思.最近想把自己做的一个项目中所解决的问题和大家共享一下.希望对遇见这种情况的朋友有所帮助.       程序中要用到VB调用ORACLE ...

  8. oracle调用存储过程输出,oracle中存储过程调用存储过程(带有返回结果集)

    在oracle中,存储过程是可以调用存储过程的.其中,被调用的存储过程可以带返回游标的结果集,或者是一个定义的变量,两者都可以,在实现过程中几乎没什么差别.在调用的存储过程,要注意写好对应的游标或者定 ...

  9. oracle调用存储过程output,vb.net 调用oracle的存储过程的方法(带输入参数 和输出参数或者返回记录集)...

    1.直接调用存储过程 2 是用包的方式调用存储过程 3 调用存储过程且该存储过程返回记录集 这种必须使用包的方式 1.直接调用存储过程 测试存储过程为: create or replace proce ...

最新文章

  1. axios解决调用后端接口跨域问题
  2. 悠悠二十载,Nginx创始人Igor宣布离职
  3. 薪资被「倒挂」,别慌,咱们用实力说话
  4. 程序员面试系列之Java单例模式的攻击与防御
  5. 【CodeForces - 298C】Parity Game (思维,有坑)
  6. VS系列编译器内部调用malab(32位/64位)函数指南
  7. 广西电力职业技术学院计算机应用,广西电力职业技术学院电子与信息工程系
  8. 聊聊flink的RestartStrategies
  9. DBC2000有什么作用?DBC2000的安装与配置
  10. 四叶草clover配置工具Clover Configurator 5.4.4.0汉化版
  11. (6.0系统手机)安卓神器Xposed框架ROOT安装指南
  12. 洛谷 P3403 跳楼机 题解
  13. (三)四种流行的RPC框架(Dubbo/Motan/Thrift/Grpc)
  14. Android+6.0的全盘加密(,Android6.0强制全盘加密 隐私牺牲性能
  15. 为什么 Proxy 一定要配合 Reflect 使用?
  16. Xz1android9打电话延迟,索尼Xperia XZ与XZ1系列正式获得Android 9升级;但这新
  17. 为什么神经网络层数越多越好?训练次数与层数的区别与联系
  18. 2021年大数据发展十大趋势:抓准一个,就能掌握先机!
  19. java 课程设计——银行管理系统
  20. 04-防火墙双机热备

热门文章

  1. HashMap源码解读
  2. Hive体系结构(二)Hive的执行原理、与关系型数据库的比较
  3. unet训练自己的数据集_基于UNet网络实现的人像分割 | 附数据集
  4. PAT甲级 -- 1005 Spell It Right (20 分)
  5. HTML中引入CSS的三种方式——响应式Web系列学习笔记
  6. 1054 The Dominant Color (20 分)_12行代码AC
  7. (最优解)L1-028 判断素数 (10分)——17行代码AC
  8. 蓝桥 试题 基础练习 杨辉三角形——11行代码AC
  9. 同步规则和happen-before规则
  10. 三重积分平均值_2015考研数学考前必须死磕的知识点