欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java使用mybatis調(diào)用存儲過程返回一個游標(biāo)結(jié)果集方式

 更新時間:2024年01月27日 09:57:14   作者:瀚高PG實(shí)驗(yàn)室  
這篇文章主要介紹了java使用mybatis調(diào)用存儲過程返回一個游標(biāo)結(jié)果集方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

環(huán)境

  • 系統(tǒng)平臺:IBM:Linux on System z Red Hat Enterprise Linux 7
  • 版本:6.0,4.5

文檔用途

  • mybatis調(diào)用存儲過程返回游標(biāo)接收結(jié)果集。

詳細(xì)信息

1.service實(shí)現(xiàn)類

@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">

   <!-- 可根據(jù)自己的需求,是否要使用 -->
    <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>

    <!-- 調(diào)用存儲過程返回一個游標(biāo) -->
    <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.數(shù)據(jù)庫過程

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參數(shù)

url: jdbc:highgo://192.168.21.138:5870/test?escapeSyntaxCallMode=callIfNoReturn

6.數(shù)據(jù)庫表

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);

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于@Data和@Builder注解解析

    關(guān)于@Data和@Builder注解解析

    在使用Lombok庫時,@Data和@Builder注解混用可能會導(dǎo)致編譯失敗,解決方法包括添加@NoArgsConstructor和@AllArgsConstructor注解,或者重寫無參構(gòu)造器并注解@Tolerate,這是因?yàn)锧Data自動生成的構(gòu)造器與@Builder的構(gòu)造模式存在沖突
    2024-10-10
  • Spring Cloud 系列之負(fù)載均衡 Ribbon的示例代碼

    Spring Cloud 系列之負(fù)載均衡 Ribbon的示例代碼

    Ribbon 是 Netflix 發(fā)布的負(fù)載均衡器,它有助于控制 HTTP 和 TCP 客戶端的行為。這篇文章主要介紹了Spring Cloud 系列之負(fù)載均衡 Ribbon的示例代碼,需要的朋友可以參考下
    2020-11-11
  • Java中的布隆過濾器原理實(shí)現(xiàn)和應(yīng)用

    Java中的布隆過濾器原理實(shí)現(xiàn)和應(yīng)用

    Java中的布隆過濾器是一種基于哈希函數(shù)的數(shù)據(jù)結(jié)構(gòu),能夠高效地判斷元素是否存在于一個集合中。它廣泛應(yīng)用于緩存、網(wǎng)絡(luò)協(xié)議、數(shù)據(jù)查詢等領(lǐng)域,在提高程序性能和減少資源消耗方面具有顯著優(yōu)勢
    2023-04-04
  • 入門Java線程基礎(chǔ)一篇就夠了

    入門Java線程基礎(chǔ)一篇就夠了

    線程是進(jìn)程中的一個實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源
    2021-06-06
  • 詳解Java中的時區(qū)類TimeZone的用法

    詳解Java中的時區(qū)類TimeZone的用法

    TimeZone可以用來獲取或者規(guī)定時區(qū),也可以用來計(jì)算時差,這里我們就來詳解Java中的時區(qū)類TimeZone的用法,特別要注意下面所提到的TimeZone相關(guān)的時間校準(zhǔn)問題.
    2016-06-06
  • Java對象以Hash結(jié)構(gòu)存入Redis詳解

    Java對象以Hash結(jié)構(gòu)存入Redis詳解

    這篇文章主要介紹了Java對象以Hash結(jié)構(gòu)存入Redis詳解,和Java中的對象非常相似,卻不能按照J(rèn)ava對象的結(jié)構(gòu)直接存儲進(jìn)Redis的hash中,因?yàn)镴ava對象中的field是可以嵌套的,而Redis的Hash結(jié)構(gòu)不支持嵌套結(jié)構(gòu),需要的朋友可以參考下
    2023-08-08
  • springboot配置多數(shù)據(jù)源的實(shí)例(MongoDB主從)

    springboot配置多數(shù)據(jù)源的實(shí)例(MongoDB主從)

    下面小編就為大家分享一篇springboot配置多數(shù)據(jù)源的實(shí)例(MongoDB主從),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java中的Future獲取任務(wù)返回值詳解

    Java中的Future獲取任務(wù)返回值詳解

    這篇文章主要介紹了Java中的Future獲取任務(wù)返回值詳解,在向線程池ThreadPoolExecutor提交任務(wù)時,一般為了方便操作采用execute提交任務(wù),這時線程其實(shí)是無返回值的,需要的朋友可以參考下
    2023-12-12
  • Spring事務(wù)捕獲異常后依舊回滾的解決

    Spring事務(wù)捕獲異常后依舊回滾的解決

    本文主要介紹了Spring事務(wù)捕獲異常后依舊回滾的解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java中BufferedReader和BufferedWriter使用方式

    Java中BufferedReader和BufferedWriter使用方式

    這篇文章主要介紹了Java中BufferedReader和BufferedWriter使用方式,F(xiàn)ileWriter?類從?OutputStreamWriter?類繼承而來,BufferedReader?類從字符輸入流中讀取文本并緩沖字符,以便有效地讀取字符,數(shù)組和行
    2022-06-06

最新評論