Mybatis呼叫Mysql儲存過程

2021-09-22 13:22:11 字數 1925 閱讀 7321

在我的後台系統中,今天需要使用到儲存過程。儲存過程還真沒寫過,今天就寫了個儲存過程。使用在後台中。

其實這個介面功能  是涉及幾張表的修改,刪除,新增的。就寫個乙個儲存過程。

儲存過程:

1

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))2

begin

3declare new_group_id int(11);4

declare

continue handler for sqlexception set t_error=

0;

5set t_error =1;

6 start transaction;7

insert

into admin_group (`group_name`,`description`) values

( group_name,description);

8set new_group_id =

last_insert_id();

9update group_special_power set group_id= new_group_id where group_id =group_id1 or group_id=

group_id2;

10update group_menu_power set group_id= new_group_id where group_id =group_id1 or group_id=

group_id2;

11update group_hospital_power set group_id= new_group_id where group_id =group_id1 or group_id=

group_id2;

12update admin_user set is_admin=

0 , admin_group_id=new_group_id where admin_group_id =group_id1 or admin_group_id=

group_id2;

13update admin_user set is_admin=

1where id=

admin_user_id;

14delete

from admin_group where id =group_id1 or id=

group_id2;

15if t_error =

0then

16rollback

; 17

else

18commit

; 19

endif

; 20

end;

1

<

insert

id="insertadmingroupcombine"

parametertype

="org.system.entity.admin.admingroup"

usegeneratedkeys

="true"

keycolumn

="id"

statementtype

="callable"

>2,

4#,5#,

6

#,7 #,8

#)}9

insert

>

Mybatis呼叫mysql的儲存過程

呼叫帶有引數的儲存過程,mode代表引數在儲存過程中的方式,是輸入值還是輸出值 in 和out必須大寫,否則系統找不到parametermode.in 在這裡插入描述 在sql語句結束處必須加上分號,否則報錯 mysql delimiter mysql create procedure pro co...

mybatis註解方式呼叫mysql儲存過程

spring boot mybatis service controller 需求 隨機返回某一資料表中列舉型別的屬性的某乙個值給後台。具體來說,假設資料庫中有乙個表名為 test 的資料表,其中有一屬性名為major的屬性,這一屬性為列舉型別,希望能夠隨機返回其中的某乙個值。資料表名以及屬性名均為...

php PDO呼叫多個結果集的mysql儲存過程

之前寫過了 如何通過 php 取得 mysql procedure 結果 不過按照那種方法還不能適應多結果集的情況。所謂的多結果集,就是指在儲存過程中,有多次 select 查詢,行程多個結果集。解決的辦法還是用 mysqli 提供的函式 mysqli multi query 來做,如下例 mysq...