Mybatis调用Mysql存储过程
在我的后台系统中,今天需要使用到存储过程。存储过程还真没写过,今天就写了个存储过程。使用在后台中。
其实这个接口功能 是涉及几张表的修改,删除,新增的。就写个一个存储过程。
存储过程:
CREATE PROCEDURE `sp_combine_admin_group`(IN `group_id1` int(11), IN `group_id2` int(11),IN `admin_user_id` int(11),IN `group_name` varchar(64),IN `description` varchar(1024), out `t_error` INT(11))
BEGIN
DECLARE new_group_id int(11);
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=0;
SET t_error = 1;
START TRANSACTION;
INSERT INTO admin_group (`group_name`,`description`) values ( group_name,description);
SET new_group_id =LAST_INSERT_ID();
UPDATE group_special_power SET group_id= new_group_id where group_id =group_id1 or group_id= group_id2;
UPDATE group_menu_power SET group_id= new_group_id where group_id =group_id1 or group_id= group_id2;
UPDATE group_hospital_power SET group_id= new_group_id where group_id =group_id1 or group_id= group_id2;
UPDATE admin_user SET is_admin=0 , admin_group_id=new_group_id where admin_group_id =group_id1 or admin_group_id= group_id2;
UPDATE admin_user SET is_admin=1 where id=admin_user_id;
DELETE FROM admin_group where id =group_id1 or id= group_id2;
IF t_error = 0 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END;
--Mapper.xml文件调用存储过程
<insert id="insertAdminGroupCombine" parameterType="org.system.entity.admin.AdminGroup" useGeneratedKeys="true" keyColumn="id" statementType="CALLABLE" >
{call sp_combine_admin_group(
3 #{group_id1,jdbcType=INTEGER,mode=IN},
#{group_id2,jdbcType=INTEGER,mode=IN},
#{admin_user_id,jdbcType=INTEGER,mode=IN},
6 #{group_name,jdbcType=VARCHAR,mode=IN},
7 #{description,jdbcType=VARCHAR,mode=IN},
#{t_error,jdbcType=INTEGER,mode=OUT})}
</insert>
Mybatis调用Mysql存储过程的更多相关文章
- java, mybatis, 调用mysql存储过程
Map<String, Object> bindinfo = new HashMap<String, Object>(); bindinfo.put(&q ...
- mybatis 调用mysql存储过程 带输出输入参数
http://lohasle.iteye.com/blog/1669879 存储过程都是一样的,只是根据自己的喜好,可以用MAP或者JAVABEAN传递参数. -- ----------------- ...
- spring mybatis 3.2调用mysql存储过程返回多结果集(完整、亲测、可用)
最近,有个开发提了个需求,希望中间件支持调用mysql存储过程时支持多结果集返回,因为某些原因我们使用了不少的存储过程,很多复杂的逻辑目前来看交互非常的多,所以从当前的现状来说,这个需求还是蛮合理的. ...
- PHP调用MYSQL存储过程实例
PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = ...
- MyBatis调用Oracle存储过程
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...
- 调用MYSQL存储过程实例
PHP调用MYSQL存储过程实例 http://blog.csdn.net/ewing333/article/details/5906887 http://www.cnblogs.com/kkchen ...
- Mybatis调用PostgreSQL存储过程实现数组入参传递
注:本文来源于 < Mybatis调用PostgreSQL存储过程实现数组入参传递 > 前言 项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于Pos ...
- Golang 用go-sql-driver 调用MySQL存储过程时的问题排查
今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错.本文对这个错误及其解做一个简单的总结. 1 问题描述 按照go中sql包提供的接口,应用层代码 ...
- mybatis调用mysql的存储过程(procedure),实现查询操作(student表中的某个年级中的总人数 select (1) 或者 select (*))
step1:在mysql cmd中新建存储过程: drop procedure if exists queryCountByGrade ; delimiter // -- 定义存储过程结束符号为// ...
随机推荐
- sp_sys_ERPTrigger_base
USE [GalaxyPointDB24]GO/****** Object: StoredProcedure [dbo].[sp_zy_Process_scrap] Script Date: ...
- StringBuild,StringFormat," "+" " 三种方法速度测试
测试方式: Stopwatch sw = new Stopwatch(); sw.Start(); string tmp = ""; StringBuilder sb = new ...
- ubuntu /etc/profile和/etc/environment的比较
先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文. 将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_C ...
- Failed to start component [StandardEngine[Catalina].StandardHost[localhost....
今天我用了近一天的时间研究一个错误,早上写代码是遇到一个 错误严重错误代码如下: 严重: ContainerBase.addChild: start: org.apache.catalina.Life ...
- EasyUI 自定义窗口工具
默认的窗口有4个工具:collapsible(可折叠),minimizable(最小化),maximizable(最大化) 和closable(关闭),例如,我们定义下列窗口: <div id= ...
- 2010noip提高组解题报告
https://www.luogu.org/problem/show?pid=1514 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个 ...
- 第三个 android控件
android控件以及控件对应的属性:
- drawRect导致内存暴增的真正原因
那么现在我们分析一下drawRect导致内存暴增的真正原因: 重写drawRect为何会导致内存大量上涨? 要想搞明白这个问题,我们需要撸一撸在 iOS 程序上图形显示的原理.在 iOS 系统中所有显 ...
- SqlSever基础 union 与 union all的区别,即 重复项是否全部显示
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 手机开机画面制作工具(LogoBuilder)
手机开机画面制作工具(LogoBuilder) 本人想在自己的设备中采用其他设备上开机的logo,首先需要此设备上的logo.bin,然后用LogoBuilder解压出来,具体步骤如下: 1. ...