mybatis 调用oracle存储过程如何返回out参数值
调试了半天,其实整体用map传入传出也挺简单,
主要是调用存储过程 select标签里平时习惯不写 statementType="CALLABLE",调用没有out参数时也能正常用,
调用有out参数的过程时导致一直报java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 6
网上的很多文章写的挺啰嗦,
parameterMap要是传入的就是HashMap里面也都是基本类型根本不用写,mabatis会自动识别类型。
jdbcType=INTEGER, mode=OUT也只需要给OUT参数写上,IN参数也不必要写。
每次看到网上的代码写了一堆<parameterMap id="canCustomerSubscribeParams" type="map">
就感到无奈
dao接口定义:
void sellPassengerTicket(Map<String, Object> params);
mapper xml:
<select id="sellPassengerTicket" statementType="CALLABLE">
CALL TicSell_SellPassengerTicket(#{p_ticketWindowId},
#{p_planVoyageId},
#{p_planBerthInfoId},
#{p_discountTypeId},
#{p_discountRate},
#{p_ticketNumber, jdbcType=INTEGER, mode=OUT}
)
</select>
service层调用:
Map<String, Object> params = new HashMap<String, Object>();
params.put("p_ticketWindowId", ticketWindowId);
params.put("p_planVoyageId", planVoyageId);
params.put("p_planBerthInfoId", planBerthInfoId);
params.put("p_discountTypeId", discountTypeId);
params.put("p_discountRate", discountRate); ticketSellDao.sellPassengerTicket(params);
return params.get("p_ticketNumber").toString(); // 返回票号
mybatis 调用oracle存储过程如何返回out参数值的更多相关文章
- MyBatis调用Oracle存储过程
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...
- springboot+mybatis调用oracle存储过程
1 存储过程参数为VARCHAR 代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过 ...
- mybatis springmvc调用oracle存储过程,返回记录集
参考: http://bbs.csdn.net/topics/390866155 辅助参考: http://www.2cto.com/kf/201307/226848.html http://blog ...
- mybatis 调用 oracle 存储过程 select into 无记录时NO_DATA_FOUND异常处理分析
首先根据这篇文章:http://www.cnblogs.com/coolzdp/p/7717332.html 我们知道存储过程中 SELECT * INTO 如果没有记录是不会往下执行的,直接抛出NO ...
- 调用Oracle存储过程并获取out参数值
原文: http://tech.it168.com/oldarticle/2006-04-02/200604021512359.shtml http://www.cnblogs.com/m-cnblo ...
- mybatis调用oracle存储过程的几个参考例子
首先写一个存储过程: create or replace procedure p_syn_equipment_20161205 is sqlstr ); begin --清空表 sqlstr := ' ...
- java调用oracle存储过程,返回结果集
package com.srie.db.pro; import java.sql.CallableStatement; import java.sql.Connection; import java. ...
- mybatis调用oracle存储过程 out游标类型参数 如何赋给java map
<resultMap id="ticketInfosResultMap" type="Map"> <!--result要是默认用列名的话完全不 ...
- mybatis调用oracle存储过程例子.
1.MYBATIS方法: <select id="getFlowNum" statementType="CALLABLE"> <![CDATA ...
随机推荐
- ssh文件配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- js将图片转换为base64
直接上代码: var img = "imgurl";//imgurl 就是你的图片路径 function getBase64Image(img) { var canvas = do ...
- lxml基础
节点操作: from lxml import etree # 1.创建Element对象,参数即节点名称 root = etree.Element('root') print(root) # < ...
- Echarts Map 值域为小数的原因
最近做一个项目用到了Echarts Map不知道怎么回事,有时多了一位小时,可这个意义不用小数表示(1.0个人似乎觉得有点奇怪嘞 {boolean}calculable false 是否启用值域漫游, ...
- MyBatis中choose when正确写法
<choose> <when test="scoreRange!=null and scoreRange eq 1"> AND sc.score <! ...
- /etc/apt/sources.list" E212: Can't open file for writing解决方案
:w !sudo tee % > /dev/null 解决.
- C内存模型
C语言中内存分布及程序运行中(BSS段.数据段.代码段.堆栈) - 秦宝艳的个人页面 - 开源中国 https://my.oschina.net/pollybl1255/blog/140323
- 1 byte 8 bit 1 sh 1 bit 2. 字符与编码在程序中的实现
https://en.wikipedia.org/wiki/Shannon_(unit) 1字节(英语:Byte)=8比特(英语:bit) The shannon (symbol Sh), also ...
- python之gunicorn的配置
https://www.cnblogs.com/cwp-bg/p/8780204.html python常见的web部署搭配nginx+gunicorn,下面记录一下gunicorn的配置使用. 安装 ...
- SQL DATE_FORMAT() 函数
参照原文:https://blog.csdn.net/moakun/article/details/82290387 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据 MySQL 使 ...