IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> java使用mybatis 调用存储过程返回一个游标结果集 -> 正文阅读

[开发工具]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" "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$
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);
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:46:03  更:2022-03-30 18:49:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:55:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码