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

Mybatis?如何傳入字符串參數(shù),分割并遍歷

 更新時(shí)間:2022年01月21日 11:52:54   作者:hanKongbin  
這篇文章主要介紹了Mybatis?如何傳入字符串參數(shù),分割并遍歷,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何傳入字符串參數(shù),分割并遍歷

如前臺(tái)傳入字符串參數(shù) 

String str = "a,b,c,d,e,f";

現(xiàn)需將此參數(shù)作為查詢語句的參數(shù),

Select * from news where id in (${id})

使用該語句查詢正常返回結(jié)果,但勢(shì)必產(chǎn)生sql注入漏洞。

如修改為:

Select * from news where id in (#{id})

程序報(bào)錯(cuò)。

正確寫為如下

id in
<foreach collection="str.split(',')" ?item="item" index="index" open="(" separator="," close=")">#{item}</foreach>

Mybatis 傳入分割字符串做參數(shù)

需求:更改指定一些客戶的一個(gè)字段

設(shè)計(jì):傳參兩個(gè)(一個(gè)需要更改字段,一個(gè)客戶id字符串用","隔開)

問題:mybatis中sql語句里條件報(bào)錯(cuò),原因是用了#{clientIds}傳入sql中是字符串形式

where id in (#{clientIds}) 等于 where id in ("1,2,3,4") 報(bào)錯(cuò)

解決

方法1、客戶id字符串在代碼里分割成list,mybatis中l(wèi)ist遍歷

<foreach collection="clientIdList" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>

方法2、將字符串在mybatis里分割

<foreach collection="clientIds.split(',')" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach>

方法3、sql注入,改為where id in (${clientIds})

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

相關(guān)文章

  • 解決springboot中@DynamicUpdate注解無效的問題

    解決springboot中@DynamicUpdate注解無效的問題

    這篇文章主要介紹了解決springboot中@DynamicUpdate注解無效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • JavaWeb組件Servlet使用實(shí)例解析

    JavaWeb組件Servlet使用實(shí)例解析

    這篇文章主要介紹了JavaWeb組件Servlet使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java選擇排序和垃圾回收機(jī)制詳情

    Java選擇排序和垃圾回收機(jī)制詳情

    這篇文章主要介紹Java選擇排序和垃圾回收機(jī)制,創(chuàng)建對(duì)象就會(huì)占據(jù)內(nèi)存,如果程序在執(zhí)行過程中不能再使用某個(gè)對(duì)象,這個(gè)對(duì)象是徒耗內(nèi)存的垃圾,下面來看看文章具體內(nèi)容吧
    2021-10-10
  • Java實(shí)現(xiàn)Kruskal算法的示例代碼

    Java實(shí)現(xiàn)Kruskal算法的示例代碼

    Kruskal算法是一種用來尋找最小生成樹的算法,由Joseph Kruskal在1956年發(fā)表。用來解決同樣問題的還有Prim算法和Boruvka算法等。本文將介紹用Java語言實(shí)現(xiàn)Kruskal算法的示例代碼,需要的可以參考一下
    2022-07-07
  • 使用Logback設(shè)置property參數(shù)方式

    使用Logback設(shè)置property參數(shù)方式

    這篇文章主要介紹了使用Logback設(shè)置property參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解JAVA 抽象類

    詳解JAVA 抽象類

    這篇文章主要介紹了JAVA 抽象類的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 帶你重新認(rèn)識(shí)MyBatis的foreach

    帶你重新認(rèn)識(shí)MyBatis的foreach

    這篇文章主要介紹了重新認(rèn)識(shí)MyBatis的foreach,本文提出了一種簡化<foreach>寫法的設(shè)想,更重要的是通過解決空集時(shí)生成的SQL語法問題,更深刻地理解MyBatis的foreach的生成機(jī)制,需要的朋友可以參考下
    2022-11-11
  • Java Swing JList列表框的實(shí)現(xiàn)

    Java Swing JList列表框的實(shí)現(xiàn)

    這篇文章主要介紹了Java Swing JList列表框的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 利用Java實(shí)現(xiàn)網(wǎng)站聚合工具

    利用Java實(shí)現(xiàn)網(wǎng)站聚合工具

    互聯(lián)網(wǎng)上有數(shù)以萬億計(jì)的網(wǎng)站,每個(gè)網(wǎng)站大都具有一定的功能。搜索引擎雖然對(duì)互聯(lián)網(wǎng)上的部分網(wǎng)站建立了索引,但是其作為一個(gè)大而全的搜索系統(tǒng),無法很好的定位到一些特殊的需求。因此本文將介紹一個(gè)用java實(shí)現(xiàn)的網(wǎng)站數(shù)據(jù)聚合工具,需要的可以參考一下
    2022-01-01
  • Java之Spring注解配置bean實(shí)例代碼解析

    Java之Spring注解配置bean實(shí)例代碼解析

    這篇文章主要介紹了Java之Spring注解配置bean實(shí)例代碼解析,具有一定參考價(jià)值,文中還有有關(guān)Spring學(xué)習(xí)的資料下載鏈接及相關(guān)內(nèi)容推薦,需要的朋友可以了解下。
    2017-09-09

最新評(píng)論