mybatis mapper调用mysql存储过程
mybatis版本:3.4.4
存储过程
1、mapper.xml文件中配置相关的sql语句。
<select id="callTest" statementType="CALLABLE" >
{
call hasResource(
#{param1,mode=IN},
#{param2,mode=IN},
#{param3,mode=OUT,jdbcType=INTEGER}
)
}
</select>
注意:parameterMap已被舍弃,请直接在sql语句中定义传参类型。
注意:OUT参数必须指定jdbcType
2、定义mapper接口中的方法
void callTest(Map<String, Object> params);
注意:如果存储过程中有OUT参数,调用时的传参只能是Map类型,调用结束后从Map中根据OUT参数的名称获取返回的数据。如果没有OUT参数,可以使用@Param方式定义接口中的传参。
注意:在Mysql中,定义OUT参数为游标类型,好像很复杂,没找到相关资料。官网的存储过程文档特少,不知道是不是找错地方了。
注意:如果存储过程执行过程中有sql调用,可作为存储过程的执行结果返回,同基本的select定义类似,增加resultMap或resultType参数,mapper接口增加返回参数类型。
函数
mapper.xml配置
<select id="callTest" resultType="int" >
select functionTest(#{params1}, #{param2}) from dual;
</select>
mapper接口中的方法为基本方法传参和返回数据。
mybatis mapper调用mysql存储过程的更多相关文章
- spring mybatis 3.2调用mysql存储过程返回多结果集(完整、亲测、可用)
最近,有个开发提了个需求,希望中间件支持调用mysql存储过程时支持多结果集返回,因为某些原因我们使用了不少的存储过程,很多复杂的逻辑目前来看交互非常的多,所以从当前的现状来说,这个需求还是蛮合理的. ...
- PHP调用MYSQL存储过程实例
PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = ...
- 调用MYSQL存储过程实例
PHP调用MYSQL存储过程实例 http://blog.csdn.net/ewing333/article/details/5906887 http://www.cnblogs.com/kkchen ...
- Golang 用go-sql-driver 调用MySQL存储过程时的问题排查
今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错.本文对这个错误及其解做一个简单的总结. 1 问题描述 按照go中sql包提供的接口,应用层代码 ...
- java, mybatis, 调用mysql存储过程
Map<String, Object> bindinfo = new HashMap<String, Object>(); bindinfo.put(&q ...
- PHP多次调用Mysql存储过程报错解决办法
PHP多次调用Mysql数据库的存储过程会出现问题,主要问题为存储过程中执行多次SQL语句不能一一释放导致的,网上找了一些解决办法,比如使用 multi_query 然后一个一个释放,但是发现根本不适 ...
- Java调用MySQL存储过程
Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; + ...
- php调用mysql存储过程
MYSQL存储过程 原文链接:http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html 一.存储过程简介(mysql5.0以上支持) 我们常用的操作数据 ...
- Navicat Premium创建事件计划调用MySql存储过程
1.检查事件计划,操作:工具——命令行界面——执行命令 show variables like '%event_scheduler%'; (分号不能丢)—— event_scheduler ON 表 ...
随机推荐
- Ray tracing performance benchmark
accel. avg size 3.14accel. avg depth 16.15accel. max size 8accel. max depth 20accel. GPIT 3.00 MB tr ...
- UiAutoMator一些常用的方法
常用查找UiObject方法 // 通过ID查找public static UiObject findById(String text)throws UiObjectNotFoundException ...
- jQuery阻止默认行为
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF- ...
- Java面试必问
1. 图灵 1.1 聊聊哈希算法与HashMap 1)一个优秀的哈希算法有什么特点? 快速.不可逆.敏感性.低碰撞性 2)自己写一个Hash算法 取模 3)Java中的Hash算法 HashMap,侧 ...
- [AIR] 与本地进程(应用程序)进行通讯
毫不夸张的说,此功能可以将Windows命令行程序(cmd.exe)通过AIR应用封装起来,并指挥它做任何你想做的事情 AIR2.0及以上与本地进程的交互主要体现在以下几方面: 启动进程并提供初始参数 ...
- supervisor 使用
cat /etc/supervisord.conf https://www.cnblogs.com/yuzhoushenqi/p/6825204.html http://127.0.0.1:1001/ ...
- python学习,day2:列表的复制,字符串的处理
---恢复内容开始--- 元组(tuple)是只读列表,不能修改,列表用中括号,元组用小括号.只能用index和count两个命令. ---恢复内容结束--- 字符串处理的代码 # coding=ut ...
- 128th LeetCode Weekly Contest Pairs of Songs With Total Durations Divisible by 60
In a list of songs, the i-th song has a duration of time[i] seconds. Return the number of pairs of s ...
- Git sparse-checkout 检出指定目录或文件
根据网上资料整理而来,git 1.7版本后支持的sparse checkout特性,可以指定需要checkout的目录或者文件. # 设置允许git克隆子目录 git config core.spar ...
- sqlserver 并发机制
一.事务四大属性 分别是原子性.一致性.隔离性.持久性. 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库, ...