亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java的MybatisPlus調(diào)用儲存過程的返回數(shù)據(jù)問題

 更新時間:2023年12月13日 17:06:46   作者:kangfu_521  
這篇文章主要介紹了java的MybatisPlus調(diào)用儲存過程的返回數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

1.調(diào)用存儲過程

核心 statementType=”CALLABLE”

  • mybatis調(diào)用存儲過程時需要指定statementType=”CALLABLE”,
  • 這樣Mybatis內(nèi)部中調(diào)用sql語句時將采用CallableStatementHandler,
  • 而CallableStatementHandler內(nèi)部將使用CallableStatement來調(diào)用存儲過程。

如果存儲過程是有參數(shù)的,需要指定mode屬性,可選值有IN、OUT和INOUT。

當mode為OUT或INOUT時必須同時指定jdbcType。

如下:

<select id="findName" statementType="CALLABLE" resultType="java.util.Map">
    {call findName(
        #{name, mode=IN, jdbcType=VARCHAR},
        #{email, mode=OUT, jdbcType=VARCHAR}
    )}
   </select>

或者

注意的問題:

每個#{}之間不能分行寫,因為翻譯過來會有空格,會報錯。

最好寫在一行吧,免得麻煩,就是不好看而已。

<!-- statementType 聲明指向的是什么類型,其中CALLABLE是執(zhí)行存儲過程和函數(shù)的 -->
    <select id="callProcedure" parameterType="map" statementType="CALLABLE"> 
        {call PRO_GRAP(#{tabletag,mode=IN,jdbcType=VARCHAR},#{startdate,mode=IN,jdbcType=VARCHAR},#{enddate,mode=IN,jdbcType=VARCHAR})}
    </select>

2.測試調(diào)用

或者postman 請求,傳遞參數(shù)map

存儲過程調(diào)用完成后會把輸出參數(shù)賦值給入?yún)?,所以我們可以通過Map或?qū)嶓w類來接收輸出參數(shù),比如這里的name。

所以針對上述存儲過程調(diào)用,我們可以在Mapper接口中定義如下方法:

測試:

        @Test	
	public void  callStatement() {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("name", "zxn");
		try {
			userEmailMapper.findName(map);
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println(“execute=”+map.get("email"));
	}
/**
     * 參數(shù)和結(jié)果都在params中
     * @param params
     */
    void findName(Map<String, Object> params);

3.存儲過程示例

DROP PROCEDURE IF EXISTS findName;      //如果存儲過程存在,先刪除掉存儲過程
CREATE PROCEDURE findName(IN `name` varchar(200),OUT `email_address` varchar(255)),
SELECT `a`.`email` INTO email from user a WHERE `a`.`name`=`name`;	
END

4.驗證結(jié)果

輸出查詢出來的信息

總結(jié)

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

相關文章

  • Java 獲取Web項目相對webapp地址的實例

    Java 獲取Web項目相對webapp地址的實例

    下面小編就為大家?guī)硪黄狫ava 獲取Web項目相對webapp地址的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 使用IntelliJ IDEA2020.2.2 x64 新建java項目并且輸出Hello World

    使用IntelliJ IDEA2020.2.2 x64 新建java項目并且輸出Hello World

    這篇文章主要介紹了使用IntelliJ IDEA2020.2.2 x64 新建java項目并且輸出Hello World,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 關于兩個BeanUtils.copyProperties()的用法及區(qū)別

    關于兩個BeanUtils.copyProperties()的用法及區(qū)別

    這篇文章主要介紹了關于兩個BeanUtils.copyProperties()的用法及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java實現(xiàn)電腦定時關機的方法

    java實現(xiàn)電腦定時關機的方法

    這篇文章主要介紹了java實現(xiàn)電腦定時關機的方法,首先通過java注冊windows服務程序,再以一個簡單的java程序?qū)崿F(xiàn)定時關機的功能,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • java設計模式學習之代理模式

    java設計模式學習之代理模式

    這篇文章主要為大家詳細介紹了java設計模式學習之代理模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java內(nèi)部類與匿名內(nèi)部類

    Java內(nèi)部類與匿名內(nèi)部類

    這篇文章主要介紹了Java內(nèi)部類與匿名內(nèi)部類,內(nèi)部類可以直接訪問外部類的成員,包括私有成員。外部類要訪問內(nèi)部類的成員,必須要建立內(nèi)部類的對象,更多相關內(nèi)容可以參考下面文章內(nèi)容
    2022-06-06
  • Springboot Maven打包跳過測試的五種方式小結(jié)

    Springboot Maven打包跳過測試的五種方式小結(jié)

    本文主要介紹了Springboot Maven打包跳過測試的五種方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Java中的定時器Timer詳解

    Java中的定時器Timer詳解

    這篇文章主要為大家詳細介紹了Java定時器Timer的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 解決Java中OutOfMemoryError的問題

    解決Java中OutOfMemoryError的問題

    這篇文章主要介紹了解決Java中OutOfMemoryError的三種方法,需要的朋友可以參考下
    2015-09-09
  • Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法

    Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法

    這篇文章主要介紹了Java Web開發(fā)之基于Session的購物商店實現(xiàn)方法,涉及Java針對session的操作及數(shù)據(jù)庫操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10

最新評論