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

Mybatis 如何批量刪除數(shù)據(jù)的實(shí)現(xiàn)示例

 更新時間:2021年03月05日 14:12:32   作者:縱有千千星晚  
這篇文章主要介紹了Mybatis 如何批量刪除數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本期以最常用的根據(jù)id批量刪除數(shù)據(jù)為例:

接口設(shè)計(jì)1:List類型單參數(shù)

Integer deleteByIds(List<Integer> ids);

接口設(shè)計(jì)2:Array數(shù)組類型單參數(shù)

Integer deleteByIds(Integer[] ids);

接口設(shè)計(jì)3:可變長度參數(shù)

Integer deleteByIds(Integer... ids);

此以接口2為例子mapper.xml配置如下:

<delete id="deleteByIds">
  DELETE FROM t_user WHERE id IN (
   <foreach collection="array" item="id" separator=",">
      #{id}
   </foreach>
  )
</delete>

關(guān)于<foreach>節(jié)點(diǎn)的配置說明:

collection:需要被遍歷的對象,當(dāng)抽象方法的參數(shù)只有1個且沒有添加@Param注解時,如果參數(shù)類型是List集合,則取值為list,如果參數(shù)類型是數(shù)組,則取值為array;當(dāng)抽象方法的參數(shù)超過1個,就一定添加了@Param注解,則取值為@Param注解配置的參數(shù)值;

如下圖接口所示:

item:遍歷過程中的每一個元素?cái)?shù)據(jù),當(dāng)前屬性可以自定義值表示元素?cái)?shù)據(jù)的名稱,在<foreach>節(jié)點(diǎn)的子級,使用#{}占位符時,就可以使用這個名稱來表示數(shù)據(jù);

separator:遍歷生成的代碼片段中,各元素?cái)?shù)據(jù)之間的分隔符號;

open / close:遍歷生成的代碼片段的最左側(cè)字符串/最右側(cè)字符串。

補(bǔ)充知識點(diǎn):關(guān)于#{}和${}格式的占位符

MyBatis允許在配置SQL語句時使用#{}和${}這2種格式的占位符來表示參數(shù)值。

簡單原則:在原本使用JDBC技術(shù)編程時,編寫SQL語句時可以寫問號(?)的位置,都使用#{}格式的占位符,不可以寫問號的位置,必須使用${}格式的占位符!

使用#{}格式的占位符,只能表示某個值!MyBatis在處理時,會通過預(yù)編譯的方式進(jìn)行處理,即:先使用問號對占位符表示的值進(jìn)行占位,并將整個SQL語句交由MySQL進(jìn)行編譯相關(guān)的處理(包括詞法分析、語義分析、編譯),當(dāng)編譯完成后,再將值代入到編譯成功的SQL語句中一并執(zhí)行。簡單來說,使用#{}格式的占位符時,最終處理機(jī)制是使用了預(yù)編譯的!所以,使用這種格式的占位符時,在編寫SQL時不需要關(guān)心值的數(shù)據(jù)類型的問題,并且,不存在SQL注入的風(fēng)險(xiǎn)!

使用${}格式的占位符,可以表示SQL語句中的任意片段!MyBatis在處理時,會先將${}格式占位符對應(yīng)的值拼接到SQL語句中,然后再將SQL語句交由MySQL進(jìn)行編譯相關(guān)處理,也就是說,${}格式占位符的值在編譯之前就已經(jīng)代入到SQL語句中了!很顯然,在處理${}格式的占位符時,沒有(也不可能)使用預(yù)編譯!所以,使用這種格式的占位符時,需要自行在SQL語句中考慮數(shù)據(jù)類型的問題,例如字符串類型的值需要使用一對單引號框?。×硗?,還存在SQL注入的風(fēng)險(xiǎn)!

到此這篇關(guān)于Mybatis 如何批量刪除數(shù)據(jù)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mybatis 批量刪除數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring概述和快速構(gòu)建的方式

    Spring概述和快速構(gòu)建的方式

    Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器(框架),Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情,本文給大家介紹spring概述和快速構(gòu)建方式,一起看看吧
    2021-06-06
  • Spring Boot jar中沒有主清單屬性的解決方法

    Spring Boot jar中沒有主清單屬性的解決方法

    這篇文章主要介紹了Spring Boot jar中沒有主清單屬性的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 使用Jenkins自動化構(gòu)建工具進(jìn)行敏捷開發(fā)

    使用Jenkins自動化構(gòu)建工具進(jìn)行敏捷開發(fā)

    這篇文章主要為大家介紹了使用Jenkins自動化構(gòu)建工具進(jìn)行敏捷開發(fā),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 用IntelliJ IDEA看Java類圖的方法(圖文)

    用IntelliJ IDEA看Java類圖的方法(圖文)

    這篇文章主要介紹了用IntelliJ IDEA看Java類圖的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Mybatis-Plus 搭建與使用入門(小結(jié))

    Mybatis-Plus 搭建與使用入門(小結(jié))

    Mybatis-Plus(簡稱MP)是一個 Mybatis 的增強(qiáng)工具,這篇文章主要介紹了Mybatis-Plus 搭建與使用入門(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • springboot實(shí)現(xiàn)后臺上傳圖片(工具類)

    springboot實(shí)現(xiàn)后臺上傳圖片(工具類)

    這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)后臺上傳圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 使用Spring RestTemplate 詳解實(shí)踐使用及拓展增強(qiáng)

    使用Spring RestTemplate 詳解實(shí)踐使用及拓展增強(qiáng)

    這篇文章主要介紹了使用Spring RestTemplate 詳解實(shí)踐使用及拓展增強(qiáng),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中的MapStruct的使用方法代碼實(shí)例

    Java中的MapStruct的使用方法代碼實(shí)例

    這篇文章主要介紹了Java中的MapStruct的使用方法代碼實(shí)例,mapstruct是一種實(shí)體類映射框架,能夠通過Java注解將一個實(shí)體類的屬性安全地賦值給另一個實(shí)體類,有了mapstruct,只需要定義一個映射器接口,聲明需要映射的方法,需要的朋友可以參考下
    2023-10-10
  • SpringBoot中DTO/VO/Entity相互轉(zhuǎn)換詳解

    SpringBoot中DTO/VO/Entity相互轉(zhuǎn)換詳解

    在我們平時開發(fā)中,dto、vo、entity之間的相互轉(zhuǎn)換是很頻繁的操作,這篇文章就簡單記錄一下在平時開發(fā)中SpringBoot的轉(zhuǎn)換方法,希望對大家有所幫助
    2025-01-01
  • 詳解Spring Boot使用系統(tǒng)參數(shù)表提升系統(tǒng)的靈活性

    詳解Spring Boot使用系統(tǒng)參數(shù)表提升系統(tǒng)的靈活性

    Spring Boot項(xiàng)目中常有一些相對穩(wěn)定的參數(shù)設(shè)置項(xiàng),其作用范圍是系統(tǒng)級的或模塊級的,這些參數(shù)稱為系統(tǒng)參數(shù)。這些變量以參數(shù)形式進(jìn)行配置,從而提高變動和擴(kuò)展的靈活性,保持代碼的穩(wěn)定性
    2021-06-06

最新評論

宜都市| 阿坝县| 武强县| 竹山县| 江山市| 牙克石市| 东明县| 依兰县| 十堰市| 城固县| 林西县| 霍城县| 改则县| 阳高县| 云霄县| 穆棱市| 龙井市| 榆社县| 永年县| 德令哈市| 竹山县| 横山县| 贵定县| 久治县| 茌平县| 水富县| 即墨市| 辰溪县| 鄂托克旗| 阿鲁科尔沁旗| 蒙阴县| 金堂县| 通河县| 沛县| 长阳| 阿拉善盟| 蚌埠市| 玉林市| 任丘市| 阿克苏市| 遵义县|