當前位置:首頁 > 今日熱點 > 民生資訊 > 正文

    mybatis映射文件操作存儲過程的實現

    2023-07-02 17:17:06    來源:腳本之家    


    (相關資料圖)

    先隨便創建一個存儲過程

    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語句的結束符號先替換成$$的意思,因為sql是遇到;號加回車自動就直接執行的
    mybatis調用存儲過程

    @Mapper
    public interface UserMapper {
    
    ? ? void getUserNameById(UserDto userDto); ?// 注意沒有返回值
    }
    
    
    
    
    ? ? 
    
    @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,不進行預編譯,獲取數據:$—Statement
    2、PREPARED:預處理,參數,進行預編譯,獲取數據:#—–PreparedStatement:默認
    3、CALLABLE:執行存儲過程————CallableStatement

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

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

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

    關鍵詞:

    上一篇:【全球快播報】沒有VAR導致進球被忽視,蘇州東吳遭遇蘭帕德式門線冤案
    下一篇:最后一頁

    亚洲乱码日产精品BD在线观看| 91亚洲国产在人线播放午夜| 亚洲国产成人精品激情| 亚洲最大的视频网站| 91亚洲精品第一综合不卡播放| 亚洲最大福利视频网站| 久久香蕉国产线看观看亚洲片| 亚洲精品无码AV人在线播放| 精品亚洲成α人无码成α在线观看| 亚洲av无码不卡私人影院| 成a人片亚洲日本久久| 亚洲狠狠婷婷综合久久蜜芽| 亚洲综合精品伊人久久| 国产精品久久久久久亚洲小说| 亚洲av乱码中文一区二区三区| 亚洲国产综合AV在线观看| 亚洲人成www在线播放| 精品国产日韩久久亚洲| 亚洲中文字幕无码久久| 亚洲日本在线电影| 亚洲成a人片在线不卡一二三区| 亚洲精品国产首次亮相| 香蕉视频亚洲一级| 免费在线观看亚洲| 亚洲熟伦熟女新五十路熟妇| 久久亚洲国产成人精品无码区| 亚洲国产一成久久精品国产成人综合 | 亚洲欧洲日本在线| 久久影视国产亚洲| 国产V亚洲V天堂无码| 亚洲av女电影网| 亚洲欧洲自拍拍偷午夜色| 亚洲中文字幕久久精品无码2021| 亚洲日日做天天做日日谢| 亚洲精品久久无码| 亚洲狠狠爱综合影院婷婷| 亚洲乱码日产一区三区| 亚洲国产精品久久久久婷婷软件 | 亚洲av无码一区二区三区天堂| 精品久久久久亚洲| 久久亚洲2019中文字幕|