java使用mybatis 呼叫儲存過程返回一個遊標結果集
瀚高資料庫
目錄
環境
文件用途
詳細資訊
環境
系統平臺: IBM:Linux on System z Red Hat Enterprise Linux 7
版本: 6.0,4.5
文件用途
mybatis呼叫儲存過程返回遊標接收結果集。
詳細資訊
1.service實現類
@Override
@Transactional
public 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;
}
2.dao層
@Mapper
public interface HighgoProOneRefcursorDao extends BaseMapper<HighgoProOneRefcursorEntity> {
ArrayList<Map< String, Object>> getProOneRefcursor(HashMap map);
}
3.mapper
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "
< mapper namespace= "com.database.mybatisplus.modules.demo.dao.HighgoProOneRefcursorDao">
<!-- 可根據自己的需求,是否要使用 -->
< resultMap type= "com.database.mybatisplus.modules.demo.entity.HighgoProOneRefcursorEntity" id= "highgoProOneRefcursorMap">
< 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= "getProOneRefcursor" parameterType= "map" statementType= "CALLABLE" resultType= "java.util.Map">
{call sp_one_refcursor(#{id,mode=IN},null,#{result,mode=OUT,jdbcType=OTHER,javaType=ResultSet,resultMap=highgoFunOneRefcursorMap})}
</ select>
</ mapper>
4.資料庫過程
CREATE OR REPLACE PROCEDURE test.sp_one_refcursor(integer, INOUT refcursor) LANGUAGE plpgsqlAS $procedure$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; exception when others then raise exception 'sql exception--%',sqlerrm;end;$procedure$;
5.jdbc引數
url: jdbc:highgo://192.168.21.138:5870/test?escapeSyntaxCallMode=callIfNoReturn
6.資料庫表
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, repsd, hzascii) VALUES( '匔', 'gong', 'g', 'gōng', '1', 'ō', 'o', 21268);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994931/viewspace-2884102/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java使用mybatis 呼叫函式返回一個遊標結果集JavaMyBatis函式
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- mysql返回一個結果集的儲存過程小例子MySql儲存過程
- Oracle 儲存過程返回結果集|轉|Oracle儲存過程
- Oracle 儲存過程返回結果集 (轉)Oracle儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- MyBatis 呼叫Oracle儲存過程,傳參、返回遊標的值獲取--示例MyBatisOracle儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- 儲存過程——遊標儲存過程
- Spring mybatis 呼叫儲存過程SpringMyBatis儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MyBatis基礎:MyBatis呼叫儲存過程(6)MyBatis儲存過程
- Mysql儲存過程中使用多遊標MySql儲存過程
- 儲存過程返回資料集儲存過程
- jdbc 呼叫 sql server 的儲存過程時“該語句沒有返回結果集”的解決方法JDBCSQLServer儲存過程
- mysql 儲存過程,以及mybatis如何呼叫MySql儲存過程MyBatis
- mybatis呼叫檢視和儲存過程MyBatis儲存過程
- 用.NET呼叫oracle的儲存過程返回記錄集 (轉)Oracle儲存過程
- 用java呼叫oracle儲存過程總結JavaOracle儲存過程
- java 呼叫oracle 儲存過程JavaOracle儲存過程
- java中呼叫儲存過程Java儲存過程
- Oracle中過程/函式返回結果集Oracle函式
- 簡單的mysql儲存過程,輸出結果集MySql儲存過程
- 儲存過程定義多個遊標多個begin儲存過程
- Oracle儲存過程中定義多個遊標Oracle儲存過程
- MySQL 儲存過程/遊標/事務MySql儲存過程
- 兩種SQL分頁方法儲存過程和遊標儲存過程SQL儲存過程
- java中呼叫ORACLE儲存過程JavaOracle儲存過程
- 用java呼叫oracle儲存過程JavaOracle儲存過程
- mysql 遊標的使用(儲存過程)MySql儲存過程
- oracle 儲存過程遊標的使用Oracle儲存過程
- 儲存過程if,for,while語句,陣列和遊標使用儲存過程While陣列
- 呼叫儲存過程儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- MyBatis 返回結果MyBatis
- Oracle Package返回遊標 和 java呼叫OraclePackageJava
- 使用ADO呼叫儲存過程 (轉)儲存過程
- Winform呼叫儲存過程ORM儲存過程