以下是一次简单 的存储过程调用并且在sql中使用行级锁,

本例仅为演示,实际操作请尽量使用spring事务进行管理

Mapper接口类

public interface ???Mapper {public void getCheckOutLock(CheckOutProduce checkOutProduce);
}

存储过程

CREATE PROCEDURE get_check_out_lock(IN `receptionId` bigint,OUT `result` int)
BEGIN#Routine body goes here...DECLARE record_version int ;#开启事务START TRANSACTION;#加入排他锁SELECT version from reception where reception_id = receptionId INTO record_version for update;#该条记录未被锁定if(record_version = 0) then set result = 1;UPDATE reception SET version = 1 where reception_id = receptionId ;else set result = 0;end if;COMMIT;
END

mapper.xml文件写法

<select id="getCheckOutLock" parameterType="com.kzhotel.pojo.CheckOutProduce"statementType="CALLABLE" resultType="com.kzhotel.pojo.CheckOutProduce">{call get_check_out_lock (#{receptionId,jdbcType=INTEGER,mode=IN},#{result,jdbcType=INTEGER,mode=OUT})}</select>

实体类定义

package com.kzhotel.pojo;public class CheckOutProduce {private Long receptionId;private Integer result;public Long getReceptionId() {return receptionId;}public void setReceptionId(Long receptionId) {this.receptionId = receptionId;}public Integer getResult() {return result;}public void setResult(Integer result) {this.result = result;}
}

mybatis调用 存储过程方法简单demo相关推荐

  1. MyBatis调用存储过程,MyBatis调用函数的使用方法

    MyBatis调用存储过程,MyBatis调用函数的使用方法 一.MyBatis 调用存储过程 1.不带参数的 <select id="batchAnalyzeAll" st ...

  2. java使用mybatis 调用存储过程返回一个游标结果集

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:IBM:Linux on System z Red Hat Enterprise Linux 7 版本:6.0,4.5 文档用途 mybat ...

  3. mybatis调用存储过程报错The error occurred while setting parameters

    最近项目用mybatis调用存储过程,在使用的过程中出现了一个错误:The error may involve com.stockcommission.dao.CommissionMapper.par ...

  4. mybatis调用mysql存储过程_秒会mybatis调用存储过程(MySQL)

    一.简介 有的时候,我们不方便自己写SQL,而是只能调用别人提供的存储过程,那如何使用mybatis调用存储过程呢? 二.示例步骤(MySQL) 2.1 准备一张表 DROP TABLE IF EXI ...

  5. mybatis 调用存储过程_你真的该进来了解下MyBatis的SQL工作流程了

    前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1.Mapper接口和映射文件是如何进行绑定的 2.MyB ...

  6. 在ASP.NET中调用存储过程方法新解

    摘要 存储过程的调用在B/S系统中用的很多.传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护.新的方法在一定程度上解决了这些问题. 关键词 ASP.NET:存储过程 在使用.N ...

  7. 在ASP.NET中调用存储过程方法

    两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的"官方"方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后 ...

  8. mybatis 调用存储过程

    1.定义存储过程 2.调用存储过程 <!-- public void getPageByProcedure(); 1.使用select标签定义调用存储过程2.statementType=&quo ...

  9. Mybatis调用存储过程和函数

    1.现在PL/SQL Developer中定义存储过程和函数 存储过程 create or replace procedure prg_add(p1 in number,p2 in number,p3 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题+中等题(第17期)
  2. android通知栏半透明,Android开发实现透明通知栏
  3. FFmpeg命令行map参数选择音视频流
  4. 【pyqt5学习】——最新版:配置external tools(designer、pyuic、pqrcc)
  5. java中cell无法输出_java – iText 5.5.3 PDFPCell:长文本不适合单元格(不正确地包装文本)...
  6. 博客资源网小程序带流量主激励视频收益
  7. 揭秘ASP.NET 2.0的Eval方法
  8. 讣告 | ACL终身成就奖得主Aravind Joshi去世
  9. c语言图片添加水印程序,[求助]C语言 bmp文件加上水印
  10. 线上python课程一般多少钱-排名前十的python零基础编程在线网课一对一费用多少钱...
  11. 机器学习 神经网络 神经元_神经网络如何学习?
  12. Gerber文件各层的介绍
  13. Openwrt编译进阶-修改ROOT密码,修改默认WiFi名称,修改主机名,修改主机型号
  14. 理解Nand Flash原理图
  15. 网页内引用外部字体方法
  16. 接口测试平台代码实现2:本平台项目目录解析
  17. python修改散点图中点的颜色_更改matplotlib中散点图点的颜色
  18. 使用adb备份安卓应用apk文件
  19. 新手做网站优化要思考三个本质问题!
  20. 快速计算log2()

热门文章

  1. R言rvest包爬取南京二手房信息
  2. 鸿蒙视频potato,鸿蒙OS 视频播放开发指导
  3. Unity3D 游戏引擎之IOS自定义游戏摇杆与飞机平滑的移动(十一)
  4. LINUX下载安装nvm
  5. 旧电脑通过转接卡安装nvme固态硬盘无需修改bios即可用旧SATA硬盘实现UEFI启动win10/11
  6. ThinkPHP5.0+APP+支付宝支付 服务端开发
  7. 自由窗口相关修改 AndroidQ
  8. siri为什么比谷歌搜索“笨”?
  9. Vue实现分页导出,打印
  10. 个人永久性免费-Excel催化剂功能第56波-获取Excel对象属性相关自定义函数