Mybatis 调用SqlServer 和 Oracle的存储过程实例_mybatisolus sqlserver存储过程-程序员宅基地

技术标签: 存储过程  java  Oracle  Mybatis  

1、创建好mybatis的Mapper文件

在接口文件中声明好接口以及返回的参数类型

Map<String, Object> getGoodsInfo(Map<String,Object> paramterMap);

2、Mapper.xml文件中的对应调用存储过程的方式如下

<select id="getGoodsInfo" parameterMap="getGoodsInfoMap" statementType="CALLABLE" resultMap="goodInfoMap">
        <![CDATA[
        {call UCML_GET_INFO.GETGOODS_BY_GDIDMKT(?,?,?)}
        ]]>
    </select>
2.1、对应的参数Map如下
<parameterMap type="java.util.HashMap" id="getGoodsInfoMap">
        <parameter property="I_Mkt" mode="IN" jdbcType="VARCHAR"/>
        <parameter property="I_GBID" mode="IN" jdbcType="VARCHAR"/>
        <parameter property="OUT_FLAG"  mode="OUT" jdbcType="VARCHAR"/>
</parameterMap>

这里特指出的是, 存储过程的输入和输出参数都必须传入,在对应的参数Map中 mode中用“IN”或“OUT”表明参数的类型

2.2、在具体的实现中调用
  Map<String, Object> paramterMap = new HashMap<>();
        paramterMap.put("I_Mkt", storeId);
        paramterMap.put("I_GBID", barcode);
        futureGoodsMapper.getGoodsInfo(paramterMap);//调用存储过程

        //调用完成以后,存储过程的结果集就会返回到对应的paramterMap中,用如下方式取出即可
        result.setReturnFlag(paramterMap.get("OUT_FLAG").toString());
        result.setReturemMsg(paramterMap.get("OUT_MSG").toString());
        result.setName(paramterMap.get("OUT_GBCNAME").toString());

给对应的输入参数传值,调用存储过程,接收结果集即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yangqinfeng1121/article/details/80610169

智能推荐

图的最小生成树——Kruskal算法-程序员宅基地

文章浏览阅读690次。Kruskal算法的思想如下假设有n个顶点的连通图。首先先构造有顶点构成的集合0,每个顶点都是一个集合,不含有任何边。在边找一个最小权值的边判断这个边的俩个顶点是否来自于两个不同的集合,若是就将它俩归并为一个集合,然后将这个边添加到要构成的图的集合中。直到上述的边的个数为顶点个数-1;否则,重复2-3;算法构成树的过程如下:如a图所示的图,..._4.如下图所示的一个网,请用kruskal方法,该网的最小生成树的产生过程

简单玩转23种Java设计模式_23种设计模式 行为模式 状态 父子 兄弟-程序员宅基地

文章浏览阅读6.7k次,点赞11次,收藏43次。什么是设计模式设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码..._23种设计模式 行为模式 状态 父子 兄弟

vue项目同时使用sass和less_一个项目中既可以用less又可以用scss-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏4次。有时因为代码需要,需要同时使用sass和less,现将本人的一点经验心得分享给大家。1.首先建议安装淘宝镜像,如已安装可跳过命令:npm install -g cnpm --registry=https://registry.npm.taobao.org2.如项目中已有sass,需要安装less,执行如下代码:cnpm install less --savecnpm install [email protected] --save注意:2020年以后安装的less版本均为6.0以上,安装后可能会_一个项目中既可以用less又可以用scss

Docker精华问答 | task与executor有什么关系?-程序员宅基地

文章浏览阅读694次。戳蓝字“CSDN云计算”关注我们哦!容器技术是这两年热门的话题,因为容器技术给我们带来了很多方便的地方,节约了不少成本,不管是在运维还是开发上。今天,就让我们来看看关于D..._docker executor

ARM-汇编指令集_arm指令编码-程序员宅基地

文章浏览阅读1.7k次,点赞3次,收藏10次。ARM 指令集ARM 指令集分为 6 类:跳转指令数据处理指令程序状态寄存器(PSR)转移指令Load/Store 指令协处理器指令异常中断产生指令指令的一般格式ARM 指令的一般编码格式<opcode> {<cond>}{S} <Rd>,<Rn>,<shifter_operand>opcode:是指令助记符,如 ADD 表示算数加法操作指令cond:表示指令执行的条件S:决定指令的操作是否影响 CPSR 的值Rd_arm指令编码

通过START WITH 和CONNECT BY PRIOR遍历上级父节点(上级目录) -程序员宅基地

文章浏览阅读485次。向上遍历父节点SELECT *FROM (SELECT * FROM m_comn_project_emp t1 WHERE t1.project_id = 'Project1') t2START WITH t2.child_id = 'D'CONNECT BY PRIOR t2.parent_id = t2.child_id向上遍历子节点SELEC..._start with connect by prior不包含父节点

随便推点

[LeetCode]337. 打家劫舍 III_c语言你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是-程序员宅基地

文章浏览阅读102次。题目描述:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。题目链接:337. 打家..._c语言你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

STM32F407(野火霸天虎v2)学习理解记录(持续更新)_*(unsigned int*)(0x40020000+0x3800+0x30) |= (0x1<<-程序员宅基地

文章浏览阅读932次,点赞7次,收藏7次。首先说明寄存器不是RAM,虽然都有着掉电丢失的特性,但是寄存器是寄存器,属于中央控制器(cpu)的组成部分,RAM是属于存储器的一种,寄存器的原理可以去其他博主那里好好看看,我个人暂时仅仅对其有个大概的理解。(1)在51单片机中,对各个引脚进行编辑电平状态的时候,寄存器映射是预备好的,储存在程序预编译指令中(#include ),因此对其各个引脚的电平状态可以直接编辑,例如P1=0xFF;这是方法一,比较透彻,直接编辑了引脚的电平状态,但这样不好多次操作,可以采用将寄存器取别名的方法。_*(unsigned int*)(0x40020000+0x3800+0x30) |= (0x1<<2);

Party at Hali-Bula UVA - 1220 Hali-Bula的晚会 树的最大独立集问题_公司里有n(n<=200)个人形成一个树状结构,即除了老板之外每个员工都有唯一的直属上-程序员宅基地

文章浏览阅读246次。 题目链接公司里有n(n≤200)个人形成一个树状结构,即除了老板之外每个员工都有唯一的直属上司。要求选尽量多的人,但不能同时选择一个人和他的直属上司。问:最多能选多少人,以及在人数最多的前提下方案是否唯一。【分析】本题几乎就是树的最大独立集问题,不过多了一个要求:判断唯一性。设:d(u,0)和f(u,0)表示以u为根的子树中,不选u点能得到的最大人数以及方案唯一性(f(u,0)=1..._公司里有n(n<=200)个人形成一个树状结构,即除了老板之外每个员工都有唯一的直属上

element-ui中el-upload图片上传组件_el-upload 临时链接-程序员宅基地

文章浏览阅读2.8k次。在项目开发中经常需要用到图片上传,element-ui方便的为我们提供了图片上传组件el-upload。el-upload官方文档如下面代码所示<el-upload:action="uploadUrl":on-preview="handlePreview":on-remove="handleRemove"list-type="picture"class="avatar-uploader":headers='headerObj':on-success='handleSuccess'&_el-upload 临时链接

OpenGL学习(二)_opengl 宇宙动画-程序员宅基地

文章浏览阅读215次。使用OpenGL绘制图形上篇记录了配置opengl编程环境以及创建渲染管道图解_opengl 宇宙动画

字符串、DateTime类常用方法_datetime 字符串-程序员宅基地

文章浏览阅读346次。字符串、DateTime类常用方法字符串概述String.format()方法的使用截取字符串查找字符在字符串中的位置分割字符串去掉字符串的首尾空格字符串替换字符串大小写转换StringBuilderEquals()方法Length属性日期类型获取日期和时间的相关值Add操作转换为字符串DateTime.Parse()方法的使用字符串概述字符串是引用类型,但是在使用时按值类型使用。字符串是由一连串的字符组成的,使用双引号括起来。使用string关键字定义字符串。对应于.Net FrameWork中的_datetime 字符串