瀚高数据库
目录
环境
文档用途
详细信息

环境
系统平台: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" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><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 plpgsql
AS $procedure$
beginif $1 = 1 then open $2 for select * from hzpyszm limit 100;elseif $1 = 2 thenopen $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 thenraise 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);

java使用mybatis 调用存储过程返回一个游标结果集相关推荐

  1. JBDC更新计数行以及调用存储过程返回多个结果集

    2019独角兽企业重金招聘Python工程师标准>>> 在学习该知识点之前,需要了解sqlserver的一个存储过程语句:SET NOCOUNT ON; 执行该命令 表示不返回计数行 ...

  2. java 存储过程 数组_Java调用存储过程返回数组

    Java调用存储过程: 结合SQL操作与存储过程 create procedure set_death_age(poet VARCHAR2, poet_age NUMBER) poet_id NUMB ...

  3. Java调用存储过程返回数组

    Java调用存储过程: 结合SQL操作与存储过程 create procedure set_death_age(poet VARCHAR2, poet_age NUMBER) poet_id NUMB ...

  4. mybatis调用mysql存储过程_秒会mybatis调用存储过程(MySQL)

    一.简介 有的时候,我们不方便自己写SQL,而是只能调用别人提供的存储过程,那如何使用mybatis调用存储过程呢? 二.示例步骤(MySQL) 2.1 准备一张表 DROP TABLE IF EXI ...

  5. MyBatis调用存储过程,MyBatis调用函数的使用方法

    MyBatis调用存储过程,MyBatis调用函数的使用方法 一.MyBatis 调用存储过程 1.不带参数的 <select id="batchAnalyzeAll" st ...

  6. mybatis调用存储过程报错The error occurred while setting parameters

    最近项目用mybatis调用存储过程,在使用的过程中出现了一个错误:The error may involve com.stockcommission.dao.CommissionMapper.par ...

  7. SQL存储过程中调用存储过程返回的表

    存储过程pro_A返回一个表集合TableA,在存储过程pro_B中以TableA为数据源再做一重过滤,想实现代码复用,因此原意是在存储过程pro_B中调用存储过程pro_A,但事实发现我们不能写成s ...

  8. myabatis oracle 调用存储过程返回list结果集

    视频课:https://edu.csdn.net/course/play/7940 Mapper.xml 配置 <resultMap type="emp" id=" ...

  9. php版本支持存储过程,PHP升级到4.3版本之后改变了调用存储过程的一个特性

    编写者 版本 本文假定您熟悉 Php .Sql . 郑昀 @ 掌上灵通 第一稿 小麻烦: 我们按照惯例使用了一个MS Sql Server的存储过程procA,它给出了一个输出参数nReturn, 而 ...

最新文章

  1. Swift2.0系列]Error Handling(项目应用篇)
  2. mysql中先随机提取再排序d_mysql性能优化
  3. 十一课堂|通过小游戏学习Ethereum DApps编程(4)
  4. 英雄无敌3版的仙剑奇侠传
  5. 数据中心节能专题—他山之石可以攻玉
  6. SM37job状态意义
  7. java技术栈有哪些_Java程序员必备的21个核心技术,你都掌握了哪些?
  8. 使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存
  9. php数组操作,内容相同,键值不同,互换
  10. classcastexception异常_Java程序员必备:异常的十个关键知识点
  11. 递归实现斐波那契数列(Java)
  12. 数据分析可视化图表mysql_50个最有价值的数据可视化图表
  13. BZOJ4715 囚人的旋律
  14. windows 2008 r2 kb4512486 安装失败解决方法
  15. python 彩票深度学习_Python数据分析:双色球的深度学习预测
  16. SICP练习1.16
  17. 图像处理之计算二值连通区域的质心
  18. 装多系统的U盘启动盘的制作
  19. Win10桌面壁纸、锁屏壁纸保存位置
  20. 《黑客狙击》--一部值得观看的国产高科技犯罪电影

热门文章

  1. 经典PID在智能自寻迹小车中的应用分析
  2. 解决Win11更新后C盘告急
  3. 学了手内核的位运算(1):test_and_set_bit
  4. 恶意代码分析实战-通过IDA对恶意代码进行静态分析(Lab05-01.dll)
  5. colorkey唇釉是否安全_colorkey镜面唇釉好用吗
  6. 抖音运营:抖音直播运营入门
  7. Mall商城后台管理系统——(Vue+SSM)
  8. 栈溢出:Infinite recursion (StackOverflowError)
  9. SRPG游戏开发(二十二)第六章 基本框架 - 七 视图(ViewUI)
  10. 语音识别数据集及性能评测指标WER