MyBatis调用Oracle存储过程

1、无输入和输出参数的存储过程

2、带有输入和输出参数的存储过程

3、返回游标的存储过程

mybatis中的配置文件代码

     <resultMap type="java.util.HashMap" id="cursorMap">
</resultMap>
<select id="paging" parameterType="java.util.Map" statementType="CALLABLE">
{CALL EXTRA_WORK_APPLY_DB(
#{USER_ID,mode=IN,jdbcType=VARCHAR},
#{PROC_DEF_ID,mode=IN,jdbcType=VARCHAR},
#{START_NUM,mode=IN,jdbcType=VARCHAR},
#{END_NUM,mode=IN,jdbcType=VARCHAR},
#{SUCESS_FLAG,mode=OUT,jdbcType=INTEGER},
#{SUCESS_MSG,mode=OUT,jdbcType=VARCHAR},
#{V_CURSOR,mode=OUT,jdbcType=CURSOR,resultMap=cursorMap}
)}
</select>

JAVA DAO接口定义的接口方法

 public interface IOvertimeDAO {

     public void paging(Map<String, Object> query);
}

JAVA ServiceImpl中对返回游标的处理

     public List<Map<String, Object>> paging(Map<String, Object> query) {
query.put("USER_ID", Util.getInstance().getUserInfo(ServletActionContext.getRequest()).getUserID());
query.put("PROC_DEF_ID", "Extra-workApplicationFlow");
query.put("V_CURSOR", OracleTypes.CURSOR);
this.overtimeDAO.paging(query);
List<Map<String, Object>> result = (List<Map<String, Object>>)query.get("V_CURSOR");
return result;
}

MyBatis调用Oracle存储过程的更多相关文章

  1. springboot+mybatis调用oracle存储过程

    1 存储过程参数为VARCHAR 代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过 ...

  2. mybatis 调用 oracle 存储过程 select into 无记录时NO_DATA_FOUND异常处理分析

    首先根据这篇文章:http://www.cnblogs.com/coolzdp/p/7717332.html 我们知道存储过程中 SELECT * INTO 如果没有记录是不会往下执行的,直接抛出NO ...

  3. mybatis调用oracle存储过程的几个参考例子

    首先写一个存储过程: create or replace procedure p_syn_equipment_20161205 is sqlstr ); begin --清空表 sqlstr := ' ...

  4. mybatis 调用oracle存储过程如何返回out参数值

    调试了半天,其实整体用map传入传出也挺简单, 主要是调用存储过程 select标签里平时习惯不写 statementType="CALLABLE",调用没有out参数时也能正常用 ...

  5. mybatis调用oracle存储过程例子.

    1.MYBATIS方法: <select id="getFlowNum" statementType="CALLABLE"> <![CDATA ...

  6. mybatis调用oracle存储过程 out游标类型参数 如何赋给java map

    <resultMap id="ticketInfosResultMap" type="Map"> <!--result要是默认用列名的话完全不 ...

  7. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  8. Mybatis调用PostgreSQL存储过程实现数组入参传递

    注:本文来源于 < Mybatis调用PostgreSQL存储过程实现数组入参传递  > 前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于Pos ...

  9. C#调用Oracle存储过程

    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...

随机推荐

  1. FIFO简记

    FIFO( First In First Out)简单说就是指先进先出的存储方式,在高速外设读取时经常使用. FIFO从读写的时钟可分为同步和异步两种,从信号来说都有读.写使能信号,读.写数据总线,满 ...

  2. iOS10配置说明

    1:如果你的App想要访问用户的相机.相册.麦克风.通讯录等等权限,都需要进行相关的配置,不然会直接crash掉. 要想解决这个问题,只需要在info.plist添加NSContactsUsageDe ...

  3. JDK1.8导致发送邮件失败

    问题:本地JDK1.6测试可以发送邮件,但是linux上jdk1.8发送邮件失败.报错: Sending the email to the following server failed : smtp ...

  4. oracle sqlplus 格式化输出

    1- show pagesize      ###显示页行数 set pagesize 300 ###显示页行数为300 2- show linesize        ###显示行宽度 set li ...

  5. xargs -I

    xargs  -i 参数或者-I参数配合{}即可进行文件的操作.   -I replace-str              Replace  occurrences  of  replace-str ...

  6. java字典序排序

    import java.util.Comparator; import java.util.ArrayList; import java.util.Collections; public class ...

  7. glob模块

    Python模块(glob) 主要是用来在匹配文件,相当于在shell中用通配符匹配.  参考:  http://python.usyiyi.cn/python_278/library/glob.ht ...

  8. Python 下的unittest测试框架

    unittest测试框架,直接上图吧: data:数据:主要格式为CSV:读取方式:csv.reade: public:封装的模块:通用的模块单独封装,所需参数设置为变量: testcase:测试用例 ...

  9. .NET Core Analysis

    .NET Core 1.0.1 Module Component .NET Core MongoDB MongoDB.Driver There has a nuget package availabl ...

  10. SLP的模块结构

    SLP的模块结构 在开发初期,拟将SLP分为5个模块: 基础练习模块 特定歌曲难点练习模块 玩家能力测试模块 全局设置模块 玩家信息模块 基础练习模块 这里提供可控类型.可控长度.可控BPM的练习套餐 ...