最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis調(diào)用SQL?Server存儲(chǔ)過程的實(shí)現(xiàn)示例

 更新時(shí)間:2024年01月17日 12:01:16   作者:孤巷守鶴  
在軟件開發(fā)過程中,經(jīng)常會(huì)使用到存儲(chǔ)過程,本文就來介紹一下Mybatis調(diào)用SQL?Server存儲(chǔ)過程的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下

前言

在軟件開發(fā)過程中,經(jīng)常會(huì)使用到存儲(chǔ)過程,本篇文章用于講解示例如何使用SpringBoot+Mybatis的方式調(diào)用SQL Server數(shù)據(jù)庫(kù)的存儲(chǔ)過程并且得到存儲(chǔ)過程的回參;

一、存儲(chǔ)過程的入?yún)?/h2>

這是存儲(chǔ)過程的入?yún)ⅲ糜诤罄m(xù)Mybatis的對(duì)應(yīng);

代碼如下(示例):

在這里插入圖片描述

二、Mybatis中XML的編寫

注意參數(shù)類型,以及參數(shù)的出入?yún)⒃O(shè)置;代碼如下(示例):

    <!--門診充值-->
    <select id="outpatientRecharge" parameterType="java.util.Map" statementType="CALLABLE" resultType="java.lang.String">
        <![CDATA[
        {
                call SP_xcx_mzcz(
                #{cardNo, jdbcType=VARCHAR, mode=IN},
                #{cardtype, jdbcType=VARCHAR, mode=IN},
                #{payPlatform, jdbcType=VARCHAR, mode=IN},
                #{rechargeTime, jdbcType=VARCHAR, mode=IN},
                #{money, jdbcType=DECIMAL, mode=IN},
                #{serialNo, jdbcType=VARCHAR, mode=IN},
                #{meg, jdbcType=VARCHAR, mode=OUT},
                #{message, jdbcType=VARCHAR, mode=OUT}
                )
                }
        ]]>
    </select>

三、Dao層的代碼

代碼如下(示例):

    /**
     * 門診充值
     * @param params 參數(shù)
     * @return String
     */
    String outpatientRecharge(Map<String, Object> params);

四、【重點(diǎn)】Service層的調(diào)用

代碼如下(示例):

    public JSONObject saveCurrencyPayStoredProcedureMapping(){
        Map<String, Object> params = new HashMap<>();
        params.put("cardNo","362330200010132058");
        params.put("cardtype","1");
        params.put("payPlatform","1");
        params.put("rechargeTime","2023-07-31");
        params.put("money","100");
        params.put("serialNo","123123123");
        //這里下面兩個(gè)參數(shù),就是存儲(chǔ)過程的回參,當(dāng)存儲(chǔ)過程執(zhí)行后會(huì)賦值到這個(gè)入?yún)⒅械膮?shù)里面。后續(xù)打印可見內(nèi)容,
        params.put("meg","");
        params.put("message","");
        storeProcedureDao.outpatientRecharge(params);
        log.info("params == {}",params);
        return ResJsonUtil.toJsonSuccess();
    }

說明:為了能夠清晰演示,所以使用了Map作為入?yún)ⅲ部梢允褂肊ntity作為入?yún)?,主要就在于需要在入?yún)⒅卸x兩個(gè)的參數(shù);而Mybatis執(zhí)行完成存儲(chǔ)過程后,會(huì)將回參賦值到設(shè)置好的出參參數(shù)中;

最后存儲(chǔ)過程執(zhí)行完成后,下面的打印示例:

2023-07-31 14:32:58.180  INFO 27640 --- [nio-7989-exec-1] c.e.whinterface.service.PayService       : params == {money=100, rechargeTime=2023-07-31, payPlatform=1, cardtype=1, message=充值成功, cardNo=362330200010138252, meg=1, serialNo=123123123}

可以看到,出參的meg和message參數(shù)已被重新賦值;接下來就可以直接獲取出參的內(nèi)容進(jìn)行判斷,執(zhí)行后續(xù)的業(yè)務(wù)邏輯了;

到此這篇關(guān)于Mybatis調(diào)用SQL Server存儲(chǔ)過程的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mybatis調(diào)用SQL Server存儲(chǔ)過程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于RocketMQ實(shí)現(xiàn)分布式事務(wù)的方法

    基于RocketMQ實(shí)現(xiàn)分布式事務(wù)的方法

    了保證系統(tǒng)數(shù)據(jù)的一致性,我們需要確保這些服務(wù)中的操作要么全部成功,要么全部失敗,通過使用RocketMQ實(shí)現(xiàn)分布式事務(wù),我們可以協(xié)調(diào)這些服務(wù)的操作,保證數(shù)據(jù)的一致性,這篇文章主要介紹了基于RocketMQ實(shí)現(xiàn)分布式事務(wù),需要的朋友可以參考下
    2024-03-03
  • Java、C++中子類對(duì)父類函數(shù)覆蓋的可訪問性縮小的區(qū)別介紹

    Java、C++中子類對(duì)父類函數(shù)覆蓋的可訪問性縮小的區(qū)別介紹

    這篇文章主要給大家介紹了關(guān)于Java、C++中子類對(duì)父類函數(shù)覆蓋的可訪問性縮小的區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • Java數(shù)組轉(zhuǎn)換為逗號(hào)分隔字符串的三種方法

    Java數(shù)組轉(zhuǎn)換為逗號(hào)分隔字符串的三種方法

    這篇文章主要介紹了Java中三種將數(shù)組轉(zhuǎn)為逗號(hào)分隔字符串的方法:方法1通用但含括號(hào),方法2專用于字符串?dāng)?shù)組高效,方法3靈活但性能較差,建議根據(jù)數(shù)組類型選擇String.join()或Arrays.toString(),需要的朋友可以參考下
    2025-09-09
  • 淺談JVM中的JOL

    淺談JVM中的JOL

    我們天天都在使用java來new對(duì)象,但估計(jì)很少有人知道new出來的對(duì)象到底長(zhǎng)的什么樣子?對(duì)于普通的java程序員來說,可能從來沒有考慮過java中對(duì)象的問題,不懂這些也可以寫好代碼。今天,給大家介紹一款工具JOL,可以滿足大家對(duì)java對(duì)象的所有想象。
    2021-06-06
  • 詳解Mybatis核心配置文件

    詳解Mybatis核心配置文件

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Mybatis核心配置文件展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行連接、查詢和修改操作方法

    Java對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行連接、查詢和修改操作方法

    這篇文章主要介紹了Java對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行連接、查詢和修改操作方法,需要的朋友可以參考下
    2017-07-07
  • Java 字符串壓縮與解壓的開發(fā)記錄

    Java 字符串壓縮與解壓的開發(fā)記錄

    這篇文章主要介紹了Java 字符串壓縮與解壓的開發(fā)記錄,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 詳解如何在Java中加密和解密zip文件

    詳解如何在Java中加密和解密zip文件

    在本文中,我們來學(xué)習(xí)如何用Zip4j庫(kù)創(chuàng)建受密碼保護(hù)的壓縮文件并將其解壓,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2022-09-09
  • Java實(shí)現(xiàn)圖書借閱系統(tǒng)

    Java實(shí)現(xiàn)圖書借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖書借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • java中Executor,ExecutorService,ThreadPoolExecutor詳解

    java中Executor,ExecutorService,ThreadPoolExecutor詳解

    這篇文章主要介紹了java中Executor,ExecutorService,ThreadPoolExecutor詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02

最新評(píng)論

伊春市| 湘西| 阿巴嘎旗| 宁阳县| 青海省| 霍邱县| 错那县| 扬中市| 泌阳县| 即墨市| 宜章县| 吴旗县| 普兰店市| 澄迈县| 巴南区| 新巴尔虎左旗| 呼和浩特市| 恩施市| 南宁市| 黄石市| 当涂县| 鞍山市| 宕昌县| 富宁县| 惠安县| 尼玛县| 来凤县| 香格里拉县| 和平县| 迁西县| 黄山市| 新蔡县| 铜梁县| 莎车县| 鄂托克前旗| 合江县| 册亨县| 大庆市| 龙泉市| 封丘县| 白玉县|