日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatis 解决模糊查询包含特殊字符

發(fā)布時(shí)間:2025/3/12 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis 解决模糊查询包含特殊字符 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一塊:MyBatis 實(shí)現(xiàn)模糊查詢方式

1.1 sql中字符串拼接

SELECT * FROM 表名 WHERE 字段名 LIKE CONCAT(CONCAT('%', #{參數(shù)}), '%');

1 2. 使用 ${…} 代替 #{…}

SELECT * FROM 表名 WHERE 字段名 LIKE '%${參數(shù)}%';

注意:($不能防止sql注入, #{}—> 可以防止sql注入的問題)

1.3 程序中拼接

Java 代碼

String searchText = new StringBuilder("%").append(text).append("%").toString(); parameterMap.put("text", searchText);

Mapper 映射文件

SELECT * FROM 表名 WHERE 字段名 LIKE #{參數(shù)};

第二塊:MyBatis 實(shí)現(xiàn)特殊字符處理之<![CDATA[ ]]>

2.1 <![CDATA[ ]]> 簡介

它的全稱為character data,以"** “開始,以” ]]>" 結(jié)束,在兩者之間嵌入不想被解析程序解析的原始數(shù)據(jù),解析器不對CDATA區(qū)中的內(nèi)容進(jìn)行解析,而是將這些數(shù)據(jù)原封不動地交給下游程序處理。

2.2 MyBatis 自動轉(zhuǎn)義特殊字符表

特殊字符替代符號
&&amp;
<&lt;
>&gt;
"&quot;
&apos;

2.3 <![CDATA[ ]]> 特殊字符

xml 中表示: <= 小于等于、 >= 大于等于 需加 這樣的標(biāo)記: **** xml中有&的符號,需要

<![CDATA[&]]>這樣表示&

<= 小于等于 :<![CDATA[ <= ]]>

>= 大于等于:<![CDATA[ >= ]]>

第三塊 模糊查詢包含特殊字符

解決辦法: 使用 ${…} + <![CDATA[ ]]>

模板:

<select id="searchAll" parameterType="map" resultType="map">SELECT *FROM 表名 PWHERE 1=1 <if test="參數(shù) != null and 參數(shù) != ''"><![CDATA[ AND P.字段名 LIKE '%${參數(shù)}%']]></if> </select>

總結(jié)

以上是生活随笔為你收集整理的MyBatis 解决模糊查询包含特殊字符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。