mybatis呼叫 儲存過程方法簡單demo
以下是一次簡單 的儲存過程呼叫並且在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
以下是一次簡單 的儲存過程呼叫並且在sql中使用行級鎖, 本例僅為演示,實際操作請儘量使用spring事務進行管理 Mapper介面類 public interface ???Mapper { public void getCheckOutLock(CheckOutPr
調取儲存過程的三個方法,以及用mybatis呼叫儲存過程
調取儲存過程的三個方法: 1.如果是PL/SQL命令視窗就用execute(簡寫:exec )儲存過程名,舉個例子: EXEC procedure;--procedure是儲存過程名 2.如果是PL/SQL視窗就用 begin 儲存過程名 end; begi
藉助一個數據庫表來維護主鍵(mybatis呼叫儲存過程)
###建立主鍵表 CREATE TABLE c_table_key ( table_name varchar(50) NOT NULL COMMENT ‘需要建立主鍵的表名’, last_key bigint(20) NOT NULL COMMENT ‘最後一次使用的主鍵,新的主鍵將在此
mybatis 呼叫儲存過程報錯 org.apache.ibatis.mapping.ParameterMode.IN
“` org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error resolving ParameterMode.
Mybatis 呼叫儲存過程 並返回單/多結果集的情況
返回單結果集的情況: 引用: https://blog.csdn.net/a9529lty/article/details/24401423 儲存過程示例: create or replace procedure Fsp_Plan_CheckPrj(v
java中使用mybatis呼叫儲存過程,拿到返回值(單引數返回值)
service業務層呼叫dao層 注意:返回值直接從物件裡獲取 不需要拿物件接收再獲取 dao.uspGetUser(userPO);//物件封裝了儲存過程的入參和出參 count = userPO.getCount(); //count 是儲存過程的返回值 dao層介面 pu
mybatis 呼叫儲存過程
mapper.xml <select id="callPWfSubmit" parameterType="java.util.Map" resultType="java.util.Map" statementType="CALLABLE" > {CA
mybatis 呼叫儲存過程報錯 org.apache.ibatis.mapping.ParameterMode.IN
“` org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error resolving
MyBatis呼叫儲存過程
一、提出需求 查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性 二、準備資料庫表和儲存過程 create table p_user( idint primary key auto_increment, namev
mybatis呼叫儲存過程的例子,含輸入輸出引數
首先定義一個MySQL儲存過程: DROP PROCEDURE IF EXISTS test ; CREATE PROCEDURE test (IN p1 VARCHAR(26), OUT pResult VARCHAR(512)) BEGIN SET pR
基於mybatis呼叫儲存過程
引數的設定及引數的獲取 HashMap paramMap = new HashMap(); paramMap.put("param1", "a"); paramMap.put("param2
mybatis呼叫儲存過程,獲取返回的遊標
將呼叫儲存過程引數放入map中,由於返回的遊標中包含很多引數,所以再寫一個resultmap與之對應,型別為hashmap。設定返回的jdbcType=CURSOR,resultMap設定為id對應的值。最後遊標中的值就輸出到list中了。程式碼如下: service層
MyBatis——呼叫儲存過程
原文:http://www.cnblogs.com/xdp-gacl/p/4270352.html 一、提出需求 查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性 二、準備資料庫表和儲存過程 create table p_user( id int primary key auto_
VC++ ADO呼叫儲存過程方法
一、呼叫基本過程 關於ADO呼叫儲存過程一般是按照以下步驟進行: 1、生成並初始化一個_CommandPtr物件;指定CommandType為儲存過程。 2、生成呼叫儲存過程需要的引數,這些引數都是_
MyBatis呼叫儲存過程返回結果集
儲存過程: create or replace procedure get_result_by_sql(p_sql in varchar2,p_result out sys_refcursor,p_msg out varchar2) is begin
Mybatis呼叫儲存過程出現NullPointerException錯誤
今天在寫程式碼,用MyBatis呼叫Oracle儲存過程,總是丟擲下面的異常。 Caused by: java.lang.NullPointerException at oracle.jdbc.driver.T4C8Oall.getNumRows(T4C8Oall.ja
Mybatis呼叫儲存過程異常-Non supported SQL92 token at position: 1
最近遇到一個奇怪的異常,使用Mybatis呼叫一個oracle的package時出現一個異常: Mybatis中xxDAO.xml <select id="getxxByUserId" statementType="CALLABLE" parameterType=
mybatis 呼叫儲存過程
要求:查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性 create table p_user( id int primary key auto_increment, name
MyBatis 呼叫儲存過程(詳解)
專案結構 資料表t_user 建立User package com.po; public class User { private Integer id; private String name; private String sex; private
ireport5呼叫sqlserver2005儲存過程方法
1、儲存過程準備 ALTER PROCEDURE [dbo].[portofolio_definition_get] @flag INT AS BEGIN