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

mybatis?like模糊查詢特殊字符報(bào)錯(cuò)轉(zhuǎn)義處理方式

 更新時(shí)間:2022年01月14日 14:32:50   作者:不變不中  
這篇文章主要介紹了mybatis?like模糊查詢特殊字符報(bào)錯(cuò)轉(zhuǎn)義處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

like模糊查詢特殊字符報(bào)錯(cuò)轉(zhuǎn)義處理

方案1

?? ?<if test="projectName!=null and projectName!=''">
? ? ? ? ? ? <bind name="projectName_" value="'%'+projectName+'%'"/>
? ? ? ? ? ? AND info.name like #{projectName_}
? ? ? ? </if>

方案2

?? ?<if test="projectName!=null and projectName!=''">
? ? ? ? ? ? AND info.name like concat('%',#{projectName_},'%')
? ? ? ? </if>

like模糊查詢中包含有特殊字符(_、\、%)

使用MyBatis中的模糊查詢時(shí),當(dāng)查詢關(guān)鍵字中包括有_、\、%時(shí),查詢關(guān)鍵字失效。

  • 當(dāng)like中包含_時(shí),查詢?nèi)詾槿?,?like '%_%'查詢出來的結(jié)果與like '%%'一致,并不能查詢出實(shí)際字段中包含有_特殊字符的結(jié)果條目
  • like中包括%時(shí),與1中相同
  • like中包含\時(shí),帶入查詢時(shí),%%無法查詢到包含字段中有\(zhòng)的條目

處理

工具類:特殊字符轉(zhuǎn)義

import org.apache.commons.lang3.StringUtils;?
public class EscapeUtil {
? ? //mysql的模糊查詢時(shí)特殊字符轉(zhuǎn)義
? ? public static String escapeChar(String before){
? ? ? ? if(StringUtils.isNotBlank(before)){
? ? ? ? ? ? before = before.replaceAll("\\\\", "\\\\\\\\");
? ? ? ? ? ? before = before.replaceAll("_", "\\\\_");
? ? ? ? ? ? before = before.replaceAll("%", "\\\\%");
? ? ? ? }
? ? ? ? return before ;
? ? }
}

注意

以上方法在關(guān)鍵字中包含有\(zhòng)可能會(huì)失效,失效的原因是由于查詢的關(guān)鍵字的數(shù)據(jù)庫字段排序規(guī)則為utf8_unicode_ci,要想不失效,查詢的關(guān)鍵字的排序規(guī)則必須為utf8_general_ci,或者統(tǒng)一全部數(shù)據(jù)庫字符集與排序規(guī)則分別為:utf8mb4與utf8mb4_general_ci

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

相關(guān)文章

  • 走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    這篇文章主要介紹了走進(jìn)SpringBoot之配置文件與多環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • IntelliJ IDEA修改新建文件自動(dòng)生成注釋的user名

    IntelliJ IDEA修改新建文件自動(dòng)生成注釋的user名

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA修改新建文件自動(dòng)生成注釋的user名,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 在Spring Boot中實(shí)現(xiàn)HTTP緩存的方法

    在Spring Boot中實(shí)現(xiàn)HTTP緩存的方法

    緩存是HTTP協(xié)議的一個(gè)強(qiáng)大功能,但由于某些原因,它主要用于靜態(tài)資源,如圖像,CSS樣式表或JavaScript文件。本文重點(diǎn)給大家介紹在Spring Boot中實(shí)現(xiàn)HTTP緩存的方法,感興趣的朋友跟隨小編一起看看吧
    2018-10-10
  • Java程序執(zhí)行過程及內(nèi)存機(jī)制詳解

    Java程序執(zhí)行過程及內(nèi)存機(jī)制詳解

    本講將介紹Java代碼是如何一步步運(yùn)行起來的,還會(huì)介紹Java程序所占用的內(nèi)存是被如何管理的:堆、棧和方法區(qū)都各自負(fù)責(zé)存儲(chǔ)哪些內(nèi)容,感興趣的朋友跟隨小編一起看看吧
    2020-12-12
  • 解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請(qǐng)求的操作

    解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請(qǐng)求的操作

    這篇文章主要介紹了解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請(qǐng)求的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java通過freemarker生成Word文檔導(dǎo)出的方式詳解

    Java通過freemarker生成Word文檔導(dǎo)出的方式詳解

    本文詳細(xì)介紹了如何使用FreeMarker模板生成Word文檔,包括制作FTL模板、在Java中使用FreeMarker生成文檔以及處理動(dòng)態(tài)數(shù)據(jù)和合并單元格等內(nèi)容,需要的朋友可以參考下
    2025-03-03
  • 如何通過Maven倉庫安裝Spire系列的Java產(chǎn)品

    如何通過Maven倉庫安裝Spire系列的Java產(chǎn)品

    這篇文章主要介紹了如何通過Maven倉庫安裝Spire系列的Java產(chǎn)品,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 四步輕松搞定java web每天定時(shí)執(zhí)行任務(wù)

    四步輕松搞定java web每天定時(shí)執(zhí)行任務(wù)

    本篇文章主要介紹了四步輕松搞定java web每天定時(shí)執(zhí)行任務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-01-01
  • Java AWT中常用的三種布局管理器詳解

    Java AWT中常用的三種布局管理器詳解

    這篇文章主要介紹了Java AWT中常用的三種布局管理器詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解

    Java實(shí)現(xiàn)掃雷游戲詳細(xì)代碼講解

    windows自帶的游戲《掃雷》是陪伴了無數(shù)人的經(jīng)典游戲,本文將利用Java語言實(shí)現(xiàn)這一經(jīng)典的游戲,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下
    2022-05-05

最新評(píng)論