91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis模糊查詢之bind標簽和concat函數怎么使用

發布時間:2022-08-30 09:46:53 來源:億速云 閱讀:156 作者:iii 欄目:開發技術

本篇內容介紹了“mybatis模糊查詢之bind標簽和concat函數怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

2.使用concat函數連接字符串,在mysql中這個函數支持多個參數,但是在oracle中這個函數只支持2個參數,由于不同數據庫之間的語法差異,更換數據庫,這些語法就需要重寫。可以用bind標簽來避免更換數據庫所帶來的一些麻煩。

eg.MyBatis在Oracle數據庫下用concat函數模糊查詢之參數個數無效錯誤,因為數據庫換成了Oracle,在模糊查詢數據的時候突然發現報錯了

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

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

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

或者使用

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

bind標簽使用:

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

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

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

“mybatis模糊查詢之bind標簽和concat函數怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桂东县| 安吉县| 中江县| 绥德县| 合作市| 荆州市| 曲阳县| 湘潭市| 军事| 石阡县| 进贤县| 太白县| 乐清市| 宾阳县| 镇康县| 历史| 巴林左旗| 蒙自县| 峨眉山市| 铜川市| 静宁县| 晋州市| 新晃| 祁东县| 鸡泽县| 城固县| 绥阳县| 麻城市| 农安县| 子洲县| 荣成市| 南和县| 马尔康县| 鲜城| 南召县| 玛沁县| 富阳市| 通山县| 永仁县| 景泰县| 扶余县|