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

mybatis中bind標(biāo)簽和concat的使用說(shuō)明

 更新時(shí)間:2020年12月02日 14:45:43   作者:學(xué)前班班長(zhǎng)  
這篇文章主要介紹了mybatis中bind標(biāo)簽和concat的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

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

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

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

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

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

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

補(bǔ)充知識(shí):MyBatis在Oracle數(shù)據(jù)庫(kù)下用concat函數(shù)模糊查詢之參數(shù)個(gè)數(shù)無(wú)效錯(cuò)誤

Oracle拼接字符串concat需要注意的小事項(xiàng)

在用ssm框架編寫(xiě)代碼的時(shí)候,因?yàn)?span style="color: #ff00ff">數(shù)據(jù)庫(kù)換成了Oracle,在模糊查詢數(shù)據(jù)的時(shí)候突然發(fā)現(xiàn)報(bào)錯(cuò)了

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

一直報(bào)錯(cuò)參數(shù)個(gè)數(shù)無(wú)效,在網(wǎng)上查找資料發(fā)現(xiàn)模糊查詢的sql語(yǔ)句還是concat('%','s','%')這樣寫(xiě)的

但后面發(fā)現(xiàn)實(shí)際上oracle中不支持concat的三個(gè)參數(shù)的拼接,需要更正為

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

或者使用

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

以上這篇mybatis中bind標(biāo)簽和concat的使用說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用Redis及其優(yōu)化詳解

    Java使用Redis及其優(yōu)化詳解

    大家好,本篇文章主要分享的是Java使用Redis及其優(yōu)化詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • java實(shí)現(xiàn)時(shí)間與字符串之間轉(zhuǎn)換

    java實(shí)現(xiàn)時(shí)間與字符串之間轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)時(shí)間與字符串之間轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • java類(lèi)實(shí)現(xiàn)日期的時(shí)間差的實(shí)例講解

    java類(lèi)實(shí)現(xiàn)日期的時(shí)間差的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于java類(lèi)實(shí)現(xiàn)日期的時(shí)間差的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • SpringBoot之spring.factories的使用方式

    SpringBoot之spring.factories的使用方式

    這篇文章主要介紹了SpringBoot之spring.factories的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Spring MVC的文件上傳和下載以及攔截器的使用實(shí)例

    Spring MVC的文件上傳和下載以及攔截器的使用實(shí)例

    這篇文章主要介紹了Spring MVC的文件上傳和下載以及攔截器的使用實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • Java 數(shù)據(jù)庫(kù)連接池c3p0 介紹

    Java 數(shù)據(jù)庫(kù)連接池c3p0 介紹

    這篇文章主要介給大家分享了 Java 數(shù)據(jù)庫(kù)連接池c3p0 介紹,c3p0 是一個(gè)成熟的、高并發(fā)的 JDBC 連接池庫(kù),支持緩存和 PreparedStatements 的重用。它以LGPL v.2.1或EPL v.1.0授權(quán),下面我們就一起來(lái)看看文章內(nèi)容的詳細(xì)介紹吧,需要的朋友也可以參考一下
    2021-11-11
  • spring?boot對(duì)敏感信息進(jìn)行加解密的項(xiàng)目實(shí)現(xiàn)

    spring?boot對(duì)敏感信息進(jìn)行加解密的項(xiàng)目實(shí)現(xiàn)

    本文主要介紹了spring?boot對(duì)敏感信息進(jìn)行加解密的項(xiàng)目實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Eclipse中配置Maven的圖文教程

    Eclipse中配置Maven的圖文教程

    這篇文章主要介紹了Eclipse中配置Maven的圖文教程,需要的朋友可以參考下
    2020-12-12
  • 詳解java IO流之緩沖流的使用

    詳解java IO流之緩沖流的使用

    本文主要介紹了java的IO流中的緩沖流的使用,緩沖流分為字節(jié)和字符緩沖流。分享了有關(guān)它們的實(shí)例代碼,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Java?垃圾回收超詳細(xì)講解記憶集和卡表

    Java?垃圾回收超詳細(xì)講解記憶集和卡表

    卡表就是記憶集的一種具體實(shí)現(xiàn),它定義了記憶集的記錄精度、與堆內(nèi)存的映射關(guān)系等。?關(guān)于卡表與記憶集的關(guān)系,不妨按照J(rèn)ava語(yǔ)言中HashMap與Map的關(guān)系來(lái)類(lèi)比理解。記憶集是一種用于記錄從非收集區(qū)域指向收集區(qū)域的指針集合的抽象數(shù)據(jù)結(jié)構(gòu)
    2022-04-04

最新評(píng)論

濮阳市| 北碚区| 清苑县| 扬州市| 乌拉特后旗| 奉化市| 格尔木市| 龙岩市| 施秉县| 藁城市| 铁力市| 山东省| 和田县| 波密县| 西盟| 淮北市| 吉林市| 丰城市| 桦川县| 锡林郭勒盟| 潮安县| 富宁县| 于田县| 县级市| 白玉县| 兴仁县| 随州市| 崇阳县| 南安市| 洪洞县| 沧州市| 万山特区| 遵义县| 陆川县| 准格尔旗| 霍州市| 奎屯市| 南川市| 会昌县| 离岛区| 会同县|