mybatis调用mysql存储过程
1.mybastis的配置
<select id="grabRedPacketProcedure">
call grabRedPacketProcedure(?,?,?)
</select><parametermap type="java.util.Map" id="paramMap"><parameter property="redPacketId" mode="IN" javatype="INTEGER"></parameter><parameter property="userId" mode="IN" javatype="INTEGER"></parameter><parameter property="num" mode="OUT" javatype="INTEGER" jdbctype="INTEGER"></parameter></parametermap>
2.mapper
@Mapper
public interface RedPacketMapper {
public int insertRedPacketUser(RedPacketUserPO po);
//调用存储过程
public void grabRedPacketProcedure(Map<string integer> map);
}
3.mysql存储过程
delimiter //
DROP PROCEDURE IF EXISTS grabRedPacketProcedure
//
create PROCEDURE grabRedPacketProcedure(IN v_red_packet_id INTEGER,IN v_user_id INTEGER,OUT num INTEGER)
begin
set num:= -1;
select @total:=stock from red_packet where id = v_red_packet_id;
if @total &gt; 0 then
begin
start transaction;
update red_packet set stock=stock-1 where id = v_red_packet_id;
insert into red_packet_user(red_packet_id,user_id,amount) values (v_red_packet_id,v_user_id,5);
commit;
set num:= 1;
end;
end if;
end
//
DELIMITER ;
4.存储过程的调用
public int grapRedPacketProc(Integer redPacketId, Integer userId) {
int num = -1;
Map<string> map = new HashMap<string integer>();
redPacketMapper.grabRedPacketProcedure(map);
if(map.containsKey("num")) {
num = map.get("num");
}
return num;
}
</string></string></string>
分享到:
相关推荐
MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...
spring mvc + mybatis 调用mysql 存储过程
JAVA通过MyBatis调用MySql存储过程和函数doc文档合集整理.zip
本篇文章主要介绍了Mybatis调用MySQL存储过程的简单实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
Java调用存储过程--传入集合参数 具体的方法描述分析
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据?接下来通过本文给大家介绍Mybatis传list参数调用oracle存储过程,需要的朋友可以参考下
maven+SpringMVC+Spring+Mybatis图片上传本地以及显示+调用Mysql存储过程
MyBatis支持普通sql的查询、视图的查询、存储过程调用,是一种非常优秀的持久层框架。接下来通过本文给大家介绍mybatis调用视图和存储过程的方法,感兴趣的朋友一起看看吧
适合学习mybatis,从初步到提升,包括增删改查,调用存储过程及分页,使用的是mybatis+mysql
使用MyBatis框架配置Oracle和MySql中存储过程与函数的调用。 分别描述了两种方式的实现:基于XML方式和注解方式。 其中Oracle所使用版本为Oracle11g_XE版,MySQL为5.7版本
基于MySQL存储过程的ssm学生成绩管理系统,其中运用了MySQL的存储过程,函数,使用mybatis调用,项目使用maven管理
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan ...
开发环境:Eclipse+MySQL 数据库中只包含最简单的一张Student表,只有Sno和Sname两个属性 代码中包括对数据库的增、删、改、查以及调用存储过程的例子,以及一些基本的配置文件的书写
使用netty4.X实现的手机游戏服务器,支持tcp,udp,http,websocket链接,采用protobuf自定义协议栈进行网络通信,支持rpc远程调用,使用mybatis3支持db存储分库分表,支持异步mysql存储,db保存时同步更新reids缓存。...
它的产生背景是公司要求服务完全异步化,一个服务可能包括RPC调用请求、MemCached请求、KV存储请求以及MySQL数据库调用,目前其它三种请求的组件都有异步化的接口,但是数据库调用并没有。所以,在这个情况下,开发...
主要是利用Springboot技术和uniapp技术来实现简单的失物招领的操作,其中实现的主要是页面显示,通过调用接口来实现数据的增删改查、模糊查询等操作,其中后端用到的是mybatis、lombok、mysql、maven等,数据的管理...
基于Springboot+mybatis的...将返回的数据存储在mysql中 编写业务,在controller中调用业务 用ajax获取controller传来的数据 【环境和软件】 JDK1.8 ,IntelliJ IDEA 2020.1 x64, MySQL 5.5.40,node.js v12.16.2 ,Maven
* 使用MySQL和MongoDB分别存储数据和图片 * 使用Redis缓存来提升数据库查询性能 ## 系统主要分为四个模块 + **用户管理模块**:用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改等功能; + **...
使用MySQL和MongoDB分别存储数据和图片 使用Redis缓存来提升数据库查询性能 主要分为四个模块: 用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改 仪表盘管理模块 :展示当前月...