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

mybatis模糊查詢之bind標(biāo)簽和concat函數(shù)用法詳解

 更新時間:2022年08月29日 17:08:43   作者:小野驢丶  
大家都知道bind 標(biāo)簽可以使用 OGNL 表達(dá)式創(chuàng)建一個變量井將其綁定到上下文中,接下來通過本文給大家介紹了mybatis模糊查詢——bind標(biāo)簽和concat函數(shù)用法,需要的朋友可以參考下

1.二種方式都可以用來模糊查詢,都能預(yù)防 SQL 注入。但是在更換數(shù)據(jù)庫情況下,bind標(biāo)簽通用。

<if test=” userName != null and userName !=””>
 and userName like concat('%' ,#{userName},'%')
</if>

2.使用concat函數(shù)連接字符串,在mysql中這個函數(shù)支持多個參數(shù),但是在oracle中這個函數(shù)只支持2個參數(shù),由于不同數(shù)據(jù)庫之間的語法差異,更換數(shù)據(jù)庫,這些語法就需要重寫??梢杂胋ind標(biāo)簽來避免更換數(shù)據(jù)庫所帶來的一些麻煩。

eg.MyBatis在Oracle數(shù)據(jù)庫下用concat函數(shù)模糊查詢之參數(shù)個數(shù)無效錯誤,因為數(shù)據(jù)庫換成了Oracle,在模糊查詢數(shù)據(jù)的時候突然發(fā)現(xiàn)報錯了

select * from SYS_MENU where url like concat('%',#{roleName},'%')

實際上oracle中不支持concat的三個參數(shù)的拼接,需要更正為

select * from SYS_MENU where url like concat(concat('%',#{roleName}),'%')

或者使用

select * from SYS_MENU where url like '%' || #{roleName} || '%';

bind標(biāo)簽使用:

bind 標(biāo)簽可以使用 OGNL 表達(dá)式創(chuàng)建一個變量井將其綁定到上下文中。

<bind name= " userNameBind ” value = ”' % '+ userNarne + ' %'” />
 <if test=” userName != null and userName !=””>
 and userName like #{userNameBind}
</if>

bind 標(biāo)簽的兩個屬性都是必選項
name 為綁定到上下文的變量名, value 為 OGNL 表達(dá)式。
創(chuàng)建一個 bind標(biāo)簽的變量后 , 就可以在下面直接使用,使用 bind 拼接字符串不僅可以避免因更換數(shù)據(jù)庫而修改 SQL,也能預(yù)防 SQL注入,還能實現(xiàn)多個引用userNameBind

到此這篇關(guān)于mybatis模糊查詢之bind標(biāo)簽和concat函數(shù)用法的文章就介紹到這了,更多相關(guān)mybatis模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入探究SpringBoot中的Sleuth用法

    深入探究SpringBoot中的Sleuth用法

    Sleuth是一個分布式跟蹤系統(tǒng),用于跟蹤應(yīng)用程序中的請求和操作,在本文中,我們將探討SpringBoot中的Sleuth是什么,以及如何使用它來跟蹤應(yīng)用程序中的請求和操作,感興趣的小伙伴跟著小編一起來探討吧
    2023-07-07
  • Java基于中介者模式實現(xiàn)多人聊天室功能示例

    Java基于中介者模式實現(xiàn)多人聊天室功能示例

    這篇文章主要介紹了Java基于中介者模式實現(xiàn)多人聊天室功能,詳細(xì)分析了中介者模式的概念、原理以及使用中介模式實現(xiàn)多人聊天的步驟、操作技巧與注意事項,需要的朋友可以參考下
    2018-05-05
  • java網(wǎng)上圖書商城(8)訂單模塊3

    java網(wǎng)上圖書商城(8)訂單模塊3

    這篇文章主要為大家詳細(xì)介紹了java網(wǎng)上圖書商城,訂單模塊第三篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼

    Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼

    這篇文章主要介紹了Spring Cloud Zuul路由網(wǎng)關(guān)服務(wù)過濾實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • SpringBoot中的maven插件spring-boot-maven-plugin使用

    SpringBoot中的maven插件spring-boot-maven-plugin使用

    這篇文章主要介紹了SpringBoot中的maven插件spring-boot-maven-plugin使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot集成ElasticSearch(ES)實現(xiàn)全文搜索功能

    SpringBoot集成ElasticSearch(ES)實現(xiàn)全文搜索功能

    Elasticsearch是一個開源的分布式搜索和分析引擎,它被設(shè)計用于處理大規(guī)模數(shù)據(jù)集,它提供了一個分布式多用戶能力的全文搜索引擎,本文將給大家介紹SpringBoot集成ElasticSearch(ES)實現(xiàn)全文搜索功能,需要的朋友可以參考下
    2024-02-02
  • zookeeper的Leader選舉機制源碼解析

    zookeeper的Leader選舉機制源碼解析

    這篇文章主要為大家介紹了zookeeper的Leader選舉源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • spring?data?jpa如何使用自定義repository實現(xiàn)類

    spring?data?jpa如何使用自定義repository實現(xiàn)類

    這篇文章主要介紹了spring?data?jpa如何使用自定義repository實現(xiàn)類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 使用@Value注解從配置文件中讀取數(shù)組

    使用@Value注解從配置文件中讀取數(shù)組

    這篇文章主要介紹了使用@Value注解從配置文件中讀取數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • SpringBoot整合Minio的過程(支持公有及私有bucket)

    SpringBoot整合Minio的過程(支持公有及私有bucket)

    Bucket 是存儲Object的邏輯空間,每個Bucket之間的數(shù)據(jù)是相互隔離的,對用戶而言,相當(dāng)于存放文件的頂層文件夾,這篇文章主要介紹了SpringBoot整合Minio的過程(支持公有及私有bucket),需要的朋友可以參考下
    2025-03-03

最新評論

瑞昌市| 建平县| 泗洪县| 梁山县| 梓潼县| 宿松县| 西藏| 德清县| 新平| 赤城县| 大埔县| 罗江县| 阿城市| 博罗县| 务川| 洞头县| 巫山县| 青河县| 金川县| 滦南县| 镇赉县| 岳阳县| 天气| 龙泉市| 西峡县| 富川| 郓城县| 车险| 曲周县| 石林| 石台县| 保康县| 平原县| 西吉县| 隆德县| 高阳县| 桐乡市| 芮城县| 西吉县| 连南| 宁阳县|