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

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

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

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

<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ù)庫,這些語法就需要重寫。可以用bind標簽來避免更換數(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標簽使用:

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

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

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

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

相關文章

  • springcloud中Feign超時提示Read timed out executing POST的問題及解決方法

    springcloud中Feign超時提示Read timed out executing

    Feign接口調(diào)用分兩層,Ribbon的調(diào)用和Hystrix調(diào)用,理論上設置Ribbon的時間即可,但是Ribbon的超時時間和Hystrix的超時時間需要結(jié)合起來,這篇文章給大家介紹springcloud之Feign超時提示Read timed out executing POST問題及解決方法,感興趣的朋友一起看看吧
    2024-01-01
  • SpringCloud客戶端的負載均衡Ribbon的實現(xiàn)

    SpringCloud客戶端的負載均衡Ribbon的實現(xiàn)

    微服務架構(gòu),不可避免的存在單個微服務有多個實例,這篇文章主要介紹了SpringCloud客戶端的負載均衡Ribbon的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java中SPI的一些理解

    Java中SPI的一些理解

    這篇文章主要介紹了Java中SPI的一些理解,幫助大家更好的理解和學習Java的相關知識,感興趣的朋友可以了解下
    2020-12-12
  • Java程序運行之JDK,指令javac java解讀

    Java程序運行之JDK,指令javac java解讀

    這篇文章主要介紹了Java程序運行之JDK,指令javac java,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • IDEA中配置文件模板的添加方法

    IDEA中配置文件模板的添加方法

    這篇文章主要介紹了IDEA中配置文件模板的添加方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 通過實例了解Java jdk和jre的區(qū)別

    通過實例了解Java jdk和jre的區(qū)別

    這篇文章主要介紹了通過實例了解Java jdk和jre的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • SpringBoot框架實現(xiàn)切換啟動開發(fā)環(huán)境和測試環(huán)境

    SpringBoot框架實現(xiàn)切換啟動開發(fā)環(huán)境和測試環(huán)境

    這篇文章主要介紹了SpringBoot框架實現(xiàn)切換啟動開發(fā)環(huán)境和測試環(huán)境,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java Servlet輸出中文亂碼問題解決方案

    Java Servlet輸出中文亂碼問題解決方案

    這篇文章主要介紹了Java Servlet輸出中文亂碼問題解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Kafka?Producer中的消息緩存模型圖解詳解

    Kafka?Producer中的消息緩存模型圖解詳解

    Kafka中消息是以Topic進行分類的,生產(chǎn)者生產(chǎn)消息,消費者消費消息,都是面向Topic的,下面這篇文章主要給大家介紹了關于Kafka?Producer中消息緩存模型的相關資料,需要的朋友可以參考下
    2022-04-04
  • Java啟動命令大全(匯總)

    Java啟動命令大全(匯總)

    Java啟動命令是所有java應用程序的入口,通過它來啟動Java運行時環(huán)境,并加載相關的class,本文希望做一個Java啟動命令的匯總,和各位同道分享,也便于日后作為自己的參考
    2023-09-09

最新評論