java使用mybatis 呼叫函式返回一個遊標結果集
瀚高資料庫
@Override @Transactionalpublic List<HighgoFunOneRefcursorEntity> getOneRefcursor(Integer id) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("id", id); highgoFunOneRefcursorDao.getOneRefcursor(map); List<HighgoFunOneRefcursorEntity> list = (List<HighgoFunOneRefcursorEntity>)map.get("result"); return list;}
@Mapperpublic interface HighgoFunOneRefcursorDao extends BaseMapper<HighgoFunOneRefcursorEntity> { ArrayList<Map<String, Object>> getOneRefcursor(HashMap map); }
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.database.mybatisplus.modules.demo.dao.HighgoFunOneRefcursorDao"> <!-- 可根據自己的需求,是否要使用 --> <resultMap type="com.database.mybatisplus.modules.demo.entity.HighgoFunOneRefcursorEntity" id="highgoFunOneRefcursorMap"> <result property="hanzi" column="hanzi"/> <result property="quanpin" column="quanpin"/> <result property="szm" column="szm"/> <result property="duyin" column="duyin"/> <result property="numbersd" column="numbersd"/> <result property="sd" column="sd"/> <result property="repsd" column="repsd"/> <result property="hzascii" column="hzascii"/> </resultMap> <!-- 呼叫函式程返回一個遊標 --> <select id="getOneRefcursor" parameterType="map" statementType="CALLABLE" resultType="java.util.Map"> {#{result,mode=OUT,jdbcType=OTHER,javaType=ResultSet,resultMap=highgoFunOneRefcursorMap} = call fn_one_refcursor(#{id,mode=IN})} </select></mapper>
CREATE OR REPLACE FUNCTION test.fn_one_refcursor(integer) RETURNS refcursor LANGUAGE plpgsql AS $function$ declare $2 refcursor;begin if $1 = 1 then open $2 for select * from hzpyszm limit 100; elseif $1 = 2 then open $2 for select hanzi,quanpin,szm,duyin from hzpyszm limit 100; else open $2 for select hanzi,quanpin from hzpyszm limit 100; end if; return $2; exception when others then raise exception 'sql exception--%',sqlerrm;end;$function$;
url: jdbc:highgo://192.168.21.138:5870/test?escapeSyntaxCallMode=callIfNoReturn
CREATE TABLE hzpyszm ( hanzi varchar(4) NULL, quanpin varchar(10) NULL, szm varchar(5) NULL, duyin varchar(10) NULL, numbersd varchar(1) NULL, sd varchar(5) NULL, repsd varchar(5) NULL, hzascii int8 NULL);CREATE INDEX hzpyszm_hanzi_idx ON test.hzpyszm USING btree (hanzi varchar_pattern_ops);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('唔', 'ngn', 'n', 'ńgń', '2', NULL, NULL, 21780);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匌', 'ge', 'g', 'gé', '2', 'é', 'e', 21260);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匍', 'pu', 'p', 'pú', '2', 'ú', 'u', 21261);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匎', 'e', 'e', 'è', '4', 'è', 'e', 21262);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匏', 'pao', 'p', 'páo', '2', 'á', 'a', 21263);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匐', 'fu', 'f', 'fú', '2', 'ú', 'u', 21264);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匑', 'gong', 'g', 'gōng', '1', 'ō', 'o', 21265);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匒', 'da', 'd', 'dá', '2', 'á', 'a', 21266);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, repsd, hzascii) VALUES('匓', 'jiu', 'j', 'jiù', '4', 'ù', 'u', 21267);INSERT INTO hzpyszm (hanzi, quanpin, szm, duyin, numbersd, sd, r
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994931/viewspace-2884862/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java使用mybatis 呼叫儲存過程返回一個遊標結果集JavaMyBatis儲存過程
- PostgreSQL函式:返回表查詢結果集SQL函式
- Oracle中過程/函式返回結果集Oracle函式
- MyBatis 返回結果MyBatis
- Oracle Package返回遊標 和 java呼叫OraclePackageJava
- python中函式如何返回多個結果?Python函式
- 一個利用遊標返回資料集的例子
- iOS FMDB有返回結果集和無返回結果集iOS
- PLSQL 呼叫 返回 遊標(Cursor)PROCEDURESQL
- 請各路高手看過來,有關jboss4.0.1sp1下呼叫oracle9i函式,返回結果集操作遊標時的異常怪問題,急!(附java及oracle函式原始碼)Oracle函式Java原始碼
- Mybatis使用小技巧-自定義結果集MyBatis
- Python 工匠:讓函式返回結果的技巧Python函式
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- 一個返回值函式函式
- vue在一個函式中呼叫另外一個函式Vue函式
- 使用mysql 統計函式 結果為null時返回值改為0MySql函式Null
- SpringCloud FeignClient呼叫返回結果為null。SpringGCCloudclientNull
- 函式指標呼叫函式指標
- Mybatis 查詢語句結果集總結MyBatis
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- Python返回多個結果Python
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- [oracle] SQLPlus 如何檢視引用遊標中的結果集OracleSQL
- Oracle 儲存過程返回結果集|轉|Oracle儲存過程
- Oracle 儲存過程返回結果集 (轉)Oracle儲存過程
- 淺析一個函式呼叫另一個函式的變數函式變數
- Laravel 手動建立分頁返回物件結果集Laravel物件
- JAVA資料庫處理(連線,資料查詢,結果集返回)Java資料庫
- 第 8 節:函式-函式巢狀呼叫與返回值函式巢狀
- 全域性統一返回結果類
- C/C++—— 寫一個函式,它的引數為指向函式的指標,返回型別也為指向函式的指標C++函式指標型別
- DUMP函式結果的意思函式
- Mybatis 強大的結果集對映器resultMapMyBatis
- MyBatis 呼叫Oracle儲存過程,傳參、返回遊標的值獲取--示例MyBatisOracle儲存過程
- springboot返回結果包裝統一返回格式Spring Boot
- 記錄個Java/Groovy的小問題:空字串呼叫split函式返回非空陣列Java字串函式陣列
- 統一返回結果狀態資訊類