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

mybatis映射文件操作存儲(chǔ)過(guò)程的實(shí)現(xiàn)

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

先隨便創(chuàng)建一個(gè)存儲(chǔ)過(guò)程

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語(yǔ)句的結(jié)束符號(hào)先替換成$$的意思,因?yàn)閟ql是遇到;號(hào)加回車自動(dòng)就直接執(zhí)行的
mybatis調(diào)用存儲(chǔ)過(guò)程

@Mapper
public interface UserMapper {

? ? void getUserNameById(UserDto userDto); ?// 注意沒(méi)有返回值
}
<?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)?duì)象中的get方法,獲取id的值*/
? ? ? ? ? ? ? ? #{name, mode=OUT, jdbcType=VARCHAR} /*調(diào)用入?yún)?duì)象的set方法, 設(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)

這里需要注意就是
接口的方法沒(méi)有返回值

statementType=“CALLABLE”
jdbcType=VARCHAR

在mapper文件中可以使用statementType標(biāo)記使用什么的對(duì)象操作SQL語(yǔ)句。
statementType:標(biāo)記操作SQL的對(duì)象

取值說(shuō)明:

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

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

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

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

相關(guān)文章

  • Java集合Stack源碼詳解

    Java集合Stack源碼詳解

    java工具包中的Stack是繼承于Vector(矢量隊(duì)列)的,由于Vector是通過(guò)數(shù)組實(shí)現(xiàn)的,這就意味著,Stack也是通過(guò)數(shù)組實(shí)現(xiàn)的,而非鏈表。當(dāng)然,我們也可以將LinkedList當(dāng)作棧來(lái)使用!
    2018-05-05
  • Java表單重復(fù)提交的避免方法

    Java表單重復(fù)提交的避免方法

    如何避免表單重復(fù)提交,這篇文章就為大家詳細(xì)介紹了Java表單重復(fù)提交的避免方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JPA默認(rèn)值設(shè)置沒(méi)有效果的解決

    JPA默認(rèn)值設(shè)置沒(méi)有效果的解決

    這篇文章主要介紹了JPA默認(rèn)值設(shè)置沒(méi)有效果的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • maven多模塊依賴版本不一致問(wèn)題解決

    maven多模塊依賴版本不一致問(wèn)題解決

    本文主要介紹了maven多模塊依賴版本不一致問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 詳解Java中String,StringBuffer和StringBuilder的使用

    詳解Java中String,StringBuffer和StringBuilder的使用

    這篇文章主要為大家詳細(xì)介紹了Java中String,StringBuffer和StringBuilder三者的區(qū)別以及使用,文中的少了講解詳細(xì),感興趣的可以了解一下
    2022-07-07
  • 詳解IntelliJ IDEA 快捷鍵整合(大全)

    詳解IntelliJ IDEA 快捷鍵整合(大全)

    這篇文章主要介紹了詳解IntelliJ IDEA 快捷鍵整合,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 詳解Javaee Dao層的抽取

    詳解Javaee Dao層的抽取

    這篇文章主要介紹了詳解Javaee Dao層的抽取,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 淺析Java常用API(Scanner,Random)匿名對(duì)象

    淺析Java常用API(Scanner,Random)匿名對(duì)象

    這篇文章主要介紹了Java常用API(Scanner,Random)匿名對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    關(guān)于Jackson的JSON工具類封裝 JsonUtils用法

    這篇文章主要介紹了關(guān)于Jackson的JSON工具類封裝 JsonUtils用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 通過(guò)Java測(cè)試幾種壓縮算法的性能(附測(cè)試代碼下載)

    通過(guò)Java測(cè)試幾種壓縮算法的性能(附測(cè)試代碼下載)

    這篇文章主要介紹了通過(guò)Java測(cè)試幾種壓縮算法的實(shí)際性能的一個(gè)實(shí)驗(yàn),包括Java自帶的deflate與GZIP壓縮方式,還是有一定借鑒意義的,需要的朋友可以參考下
    2015-12-12

最新評(píng)論