mybatis中LIKE模糊查询的几种写法以及注意点
From: https://blog.csdn.net/zhenwei1994/article/details/81876278
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
?
總結
以上是生活随笔為你收集整理的mybatis中LIKE模糊查询的几种写法以及注意点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js模拟blur
- 下一篇: python文件头--文件编码指定