mybatis 呼叫儲存過程

2021-10-04 18:48:29 字數 1035 閱讀 6998

呼叫的儲存過程

create

definer

=`root`

@`localhost`

procedure

`querystudentname`

(in id char(10

),out stuname varchar(10

))begin

select sname into stuname from student where sid = id;

end

配置對映檔案
<?xml version="1.0" encoding="utf-8" ?>

namespace

=>

"querystudentname"

statementtype

="callable"

parametertype

="hashmap"

>

, #

)} select

>

>

呼叫儲存過程,需要將statementtype設定成callable(預設為preparestatement)

儲存過程無論輸入引數是什麼值,語法上都需要用map來傳遞該值,然後通過map來獲取輸出值

介面檔案

public

inte***ce

測試
public

class

test

public

static

void

main

(string[

] args)

throws ioexception

}

map中的鍵的名字與sql語句中的輸入輸出引數名相同,通過params.put(「id」, 「8003118001」);傳入輸入引數,out值就會自動儲存在params中,通過鍵名stuname就可以獲取到值。

mybatis 呼叫儲存過程

引數形式 create procedure sptest.adder in addend1 integer,in addend2 integer,out thesum integer begin atomic set thesum addend1 addend2 end go parameterma...

mybatis 呼叫儲存過程

至於為什麼用map作為引數,是因為別人寫的儲存過程 可能沒有返回出參,然後就會出現下面的問題。但是別人幾百行上千行的儲存過程,我是絕對不敢去動的。然後就只能用可以為null的物件去接收返回值了,所以就從實體變為了map。void callpwfsubmit mapmap 獲取儲存過程所需要的引數 p...

mybatis 呼叫儲存過程

mybatis中的statementtype詳解 呼叫儲存過程總共有兩總語句 call 和exec 兩種語句複製一下 示例更改即可使用 call 語句 call sp sanwjimport auto exec 語句 exec sp tmailauto 4651 1.使用 update 標籤 2.i...