mybatis呼叫Oracle儲存過程返回結果集

2021-08-21 21:40:40 字數 876 閱讀 4341

在開發中,有時需要關聯幾張表來進行一些複雜的計算,此時可採用建立一張臨時表,將每次的資料計算後先存入臨時表,然後通過oracle的游標返回。

在mybatis中的呼叫如下:

//呼叫語法格式,需要構造乙個resultmap,用來接收返回的結果集

在service層呼叫如下:

//在service層呼叫,out_value為儲存過程出參

list> list = (list>) map.get("out_value");

附:oracle臨時表建立如下:

create global temporary table temp_tbl_nur_salary

( om_id varchar2(20);

ser_name varchar2(128);

create_time date;

days integer;

price number;

salary_t number(16,2);

comm_rate_m varchar(20);

salary number(16,2);

person_name varchar2(32);

yy_mm varchar2(20);

person_id varchar2(20);

person_mobile varchar2(12);

total_amount number(16,2);

refund_money number(16,2);

real_amount number(16,2);

)on commit delete rows;

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...