mybatis中LIKE模糊查询的几种写法以及注意点(亲测第三种CONCAT()函数的)
mybatis中對于使用like來進行模糊查詢的幾種方式:
(1)使用${...}
注意:由于$是參數直接注入的,導致這種寫法,大括號里面不能注明jdbcType,不然會報錯
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'VARCHAR' in 'class com.utry.ucsc.dao.bean.KnowledgeLibraryBean'
弊端:可能會引起sql的注入,平時盡量避免使用${...}
(2)使用#{...}
注意:因為#{...}解析成sql語句時候,會在變量外側自動加單引號' ?',所以這里 % 需要使用雙引號" ?",不能使用單引號 ' ?',不然會查不到任何結果。
(3)使用CONCAT()函數連接參數形式
附帶兩篇其他網友我的覺得寫的挺好的關于$與#的理解:
1、mybatis中的#{}和${}區別:
https://blog.csdn.net/u013552450/article/details/72528498/
2、prepareStatement的預編譯和防止SQL注入:
https://www.cnblogs.com/yaochc/p/4957833.html
————————————————
版權聲明:本文為CSDN博主「槐月十九」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhenwei1994/article/details/81876278
總結
以上是生活随笔為你收集整理的mybatis中LIKE模糊查询的几种写法以及注意点(亲测第三种CONCAT()函数的)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网商贷存在风险贷不出来什么意思
- 下一篇: 开一家711便利店需要多少钱 加盟费其实