mybatis呼叫Oracle儲存過程返回結果集
在開發中,有時需要關聯幾張表來進行一些複雜的計算,此時可採用建立一張臨時表,將每次的資料計算後先存入臨時表,然後通過Oracle的遊標返回。
在mybatis中的呼叫如下:
//呼叫語法格式,需要構造一個resultMap,用來接收返回的結果集 <select id="queryManagerSalaryDet" resultType="java.util.Map" statementType="CALLABLE"> <![CDATA[ {call proc_nur_calculate_salary_m(#{userId,mode=IN,jdbcType=VARCHAR},#{yymm,mode=IN,jdbcType=VARCHAR},#{out_value,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=salary})}]]> </select>
在service層呼叫如下:
//在service層呼叫,out_value為儲存過程出參
statisticsMapper.queryWorkerSalaryDet(map);
List<Map<String, Object>> list = (List<Map<String, Object>>) 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呼叫Oracle儲存過程返回結果集
在開發中,有時需要關聯幾張表來進行一些複雜的計算,此時可採用建立一張臨時表,將每次的資料計算後先存入臨時表,然後通過Oracle的遊標返回。 在mybatis中的呼叫如下: //呼叫語法格式,需要構造一個resultMap,用來接收返回的結果集 <select id
SSM-Mybatis呼叫Oracle儲存過程返回結果集(遊標)示例
1.建立一個包 此處建立一個包,是為了建立儲存過程時,用遊標作為out輸出引數時宣告為遊標型別用的. --建立一個包 create or replace package types as type empListCursor is ref cursor
C#呼叫ORACLE儲存過程返回結果集
Oracle中scott使用者下建立儲存過程: (注:從9i開始有了sys_refcursor這種型別,在以前的Oracle版本中需要使用REF CURSOR,並且還需放在一個程式包中) create or replace procedure sp_getdept (result
mybatis呼叫mysql儲存過程返回結果集
儲存過程中經常需要返回結果集。Mysql中直接用select即可返回結果集。而oracle則需要使用遊標來返回結果集。這一點Mysql相對比較方便,如下程式碼即可實現輸出結果集: 儲存過程定義: D
oracle 儲存過程返回結果集 (轉載)
好久沒上來了, 難道今天工作時間稍有空閒, 研究了一下oracle儲存過程返回結果集. 配合oracle臨時表, 使用儲存過程來返回結果集的資料讀取方式可以解決海量資料表與其他表的連線問題. 在儲存過程中先根據過濾條件從海量資料表中選出符合條件的記錄並存放到臨
python 呼叫mysql儲存過程返回結果集
儲存過程: delimiter | create procedure get_product_info(in imid int(10),int iuser varchar(20)) begin select * from tb_test where mid = i
mybatis呼叫oracle儲存過程 返回sys_refcursor
Map<String, Object> map = new HashMap<String, Object>(); map.put("id", "0"); mapper.selectPosBy(map); return (List) map
oracle 儲存過程返回 結果集 table形式
--sys_refcursor 和 cursor 優缺點比較優點比較優點一:sys_refcursor,可以在儲存過程中作為引數返回一個table格式的結構集(我把他認為是table型別,容易理解,其實是一個遊標集), cursor 只能用在儲存過程,函式,包等的實現體中,不
mybatis呼叫oracle儲存過程返回遊標 讀取到java的List
mapper: <select id="testP" statementType="CALLABLE" > {call P_TEST(#{v_cursor, mode=OUT, jdbcType=CURSOR})} </select> ja
關於oracle呼叫儲存過程返回結果集
這兩天因為公司要求,去學習了下以前一直模模糊糊的儲存過程,記錄下關於返回結果集的問題。 要返回結果集,首先你必須有個遊標,它是記錄你的查詢集的。而定義一個遊標有好多方法: 1,你可以在包中定義。然後將遊標變數作為儲存過程引數的型別。 CREATE OR REPLACE P
[Oracle]高效的PL/SQL程式設計(五)--呼叫儲存過程返回結果集
Oracle.DataAccess.Client.OracleConnection oracleConnection1=new OracleConnection("data source=precolm2;user id=colmtest;password=colmtest");
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 呼叫oracle儲存過程,傳參、返回遊標的值獲取--示例
1,dao層程式碼 Integer currentlq_fsx = getSqlSession().selectOne("lqMapper.maxscore"); Map<String,Object> map = new HashMap<String,O
java呼叫儲存過程 返回結果集
Java程式碼呼叫儲存過程:public Map<String, Object> rankInfo(Map<String, Object> rankMap,String start,String end, String userId,String o
Oracle的儲存過程返回結果集
Oracle儲存過程: CREATE OR REPLACE PROCEDURE getcity ( citycode IN VARCHAR2, ref_cursor O
JAVA呼叫儲存過程--返回結果集(傳入基本型別引數,返回基本型別和結果集)
1 建立儲存過程 create or replace procedure examplepro( inparm1 in varchar2,inparm2 in number,outparm1 out number,result out type_cursor) ...
mybatis呼叫oracle儲存過程
1.無輸入和輸出引數的儲存過程我寫了一個比較簡單的,需要注意的是Oracle無參儲存過程不能寫括號CREATE OR REPLACE Procedure cascadeoperation As Begin Delete From teacher Where id=1; U
C#呼叫Oracle儲存過程並返回結果集
1.建立一個儲存過程: createorreplaceprocedure GET_PERSON ( RC1 outsys_refcursor, RC2 outsys_refcursor ) is begin open RC1 for select * from PERSO
mybatis呼叫mysql儲存過程(返回引數,單結果集,多結果集)
一、接收一個返回值 使用Map接收返回引數,output引數放在傳入的param中 建立表 DROP TABLE IF EXISTS `demo`; CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMEN
如何在Delphi中呼叫oracle的儲存過程返回資料集
::::::本文的相關評價及說明資訊:::::: 【delphi+oracle報表解決方案(一)】delphi中呼叫oracle的儲存過程(分帶返回遊標,不返回值兩種) 關鍵字: delphi ,oracle儲存過程,遊標,返回資料集,報表 注:delphi 6+ oracle 8.1.6 一.建立包與