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

mybatis映射文件操作存儲過程的實現(xiàn)

 更新時間:2023年03月15日 16:45:23   作者:去西天求代碼的唐僧  
本文主要介紹了mybatis映射文件操作存儲過程的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

先隨便創(chuàng)建一個存儲過程

DELIMITER $$
CREATE PROCEDURE
getUserNameById (IN i_id BIGINT, OUT o_name VARCHAR(10))
BEGIN
    SELECT u.name INTO o_name FROM tb_user u WHERE id = i_id;
END $$

delimiter $$ : 是將sql語句的結(jié)束符號先替換成$$的意思,因為sql是遇到;號加回車自動就直接執(zhí)行的
mybatis調(diào)用存儲過程

@Mapper
public interface UserMapper {

? ? void getUserNameById(UserDto userDto); ?// 注意沒有返回值
}
<?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.itdong.mapper.UserMapper">
? ? <select id="getUserNameById" statementType="CALLABLE">
? ? ? ? {
? ? ? ? ? ? call getUserNameById(
? ? ? ? ? ? ? ? #{id, mode=IN}, /*調(diào)用入?yún)ο笾械膅et方法,獲取id的值*/
? ? ? ? ? ? ? ? #{name, mode=OUT, jdbcType=VARCHAR} /*調(diào)用入?yún)ο蟮膕et方法, 設(shè)置name的值*/
? ? ? ? ? ? )
? ? ? ? }
? ? </select>
</mapper>
@Test
void contextLoads() {
    UserDto userDto = new UserDto();
    userDto.setId(445225202303020001L);
    System.out.println(userDto);
    userMapper.getUserNameById(userDto);
    System.out.println(userDto);
    }

UserDto(id=445225202303020001, name=null, age=null, phone=null, email=null, password=null)
2023-03-12 23:37:42.354  INFO 4848 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
UserDto(id=445225202303020001, name=admin, age=null, phone=null, email=null, password=null)

這里需要注意就是
接口的方法沒有返回值

statementType=“CALLABLE”
jdbcType=VARCHAR

在mapper文件中可以使用statementType標記使用什么的對象操作SQL語句。
statementType:標記操作SQL的對象

取值說明:

1、STATEMENT:直接操作sql,不進行預(yù)編譯,獲取數(shù)據(jù):$—Statement
2、PREPARED:預(yù)處理,參數(shù),進行預(yù)編譯,獲取數(shù)據(jù):#—–PreparedStatement:默認
3、CALLABLE:執(zhí)行存儲過程————CallableStatement

其中如果在文件中,取值不同,那么獲取參數(shù)的方式也不相同

注意:如果只為STATEMENT,那么sql就是直接進行的字符串拼接,這樣如果為字符串需要加上引號,如果為PREPARED,是使用的參數(shù)替換,也就是索引占位符,我們的#會轉(zhuǎn)換為?再設(shè)置對應(yīng)的參數(shù)的值。

到此這篇關(guān)于mybatis映射文件操作存儲過程的實現(xiàn)的文章就介紹到這了,更多相關(guān)mybatis映射文件操作存儲過程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Reactive Programming入門概念詳解

    Reactive Programming入門概念詳解

    這篇文章主要為大家介紹了Reactive Programming入門概念詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • += 和 ++ 操作符區(qū)別簡單介紹

    += 和 ++ 操作符區(qū)別簡單介紹

    這篇文章主要介紹了+= 和 ++ 操作符區(qū)別簡單介紹的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Java異步線程中的CompletableFuture與@Async詳解

    Java異步線程中的CompletableFuture與@Async詳解

    這篇文章主要介紹了Java異步線程中的CompletableFuture與@Async詳解,CompletableFuture是java中提供的一個異步執(zhí)行類,@Async是Spring提供的異步執(zhí)行方法,當調(diào)用方法單獨開啟一個線程進行調(diào)用,需要的朋友可以參考下
    2024-01-01
  • Redis內(nèi)存數(shù)據(jù)庫示例分析

    Redis內(nèi)存數(shù)據(jù)庫示例分析

    Redis本身的內(nèi)容比較復(fù)雜。如果你上來,你應(yīng)該研究一個細節(jié)點,比如連接池和數(shù)據(jù)結(jié)構(gòu)。雖然可以直接了解某一點的詳細來源內(nèi)容,甚至盡快解決一些意外,但是容易淹沒在失眠的細節(jié)中,整體控制不了Redis
    2022-12-12
  • SpringMVC如何把后臺文件打印到前臺

    SpringMVC如何把后臺文件打印到前臺

    這篇文章主要介紹了SpringMVC如何把后臺文件打印到前臺,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 如何使用Java生成具有安全哈希的QR碼

    如何使用Java生成具有安全哈希的QR碼

    這篇文章主要介紹了如何使用Java生成具有安全哈希的QR碼,這是關(guān)于如何在Java中使用salt生成QR代碼和安全散列字符串的分步教程。,需要的朋友可以參考下
    2019-06-06
  • SpringMVC靜態(tài)資源訪問問題如何解決

    SpringMVC靜態(tài)資源訪問問題如何解決

    這篇文章主要介紹了SpringMVC靜態(tài)資源訪問問題如何解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 使用位運算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    使用位運算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    這篇文章主要介紹了使用位運算、值交換等方式反轉(zhuǎn)java字符串,本文通過四種方式給大家講解,給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 關(guān)于Java?獲取時間戳的方法

    關(guān)于Java?獲取時間戳的方法

    這篇文章主要介紹了關(guān)于Java獲取時間戳的方法,Java有兩個取時間戳的方法,分別是System.currentTimeMillis()和System.nanoTime()下文對兩種方法進行詳細介紹,需要的小伙伴可以參考一下
    2022-04-04
  • 一篇文章帶你深入了解Java基礎(chǔ)(2)

    一篇文章帶你深入了解Java基礎(chǔ)(2)

    這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08

最新評論

乌拉特后旗| 汪清县| 新龙县| 交口县| 新河县| 谢通门县| 迭部县| 长武县| 新化县| 万全县| 云梦县| 县级市| 泸水县| 静宁县| 邵东县| 兴业县| 遂平县| 岱山县| 宽甸| 黔西| 泌阳县| 永年县| 永修县| 额济纳旗| 大宁县| 宝山区| 平和县| 淳化县| 鄂托克旗| 华阴市| 乐至县| 开远市| 苏州市| 舟曲县| 永德县| 杂多县| 天柱县| 大余县| 金平| 余干县| 清新县|