寫法為:1、使用“${…}”,語法為“l(fā)ike '${…}'”;2、使用“#{…}”,語法為“l(fā)ike '#{…}'”;3、使用CONCAT函數(shù)連接參數(shù)形式,語法為“l(fā)ike CONCAT('%',#{…},'%')”。
本教程操作環(huán)境:windows7系統(tǒng)、java10版、Dell G3電腦。
mybatis中對于使用like來進(jìn)行模糊查詢的幾種方式:
(1)使用${…}
注意:由于$是參數(shù)直接注入的,導(dǎo)致這種寫法,大括號里面不能注明jdbcType,不然會報(bào)錯(cuò)
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的注入,平時(shí)盡量避免使用${…}
(2)使用#{…}
注意:因?yàn)?{…}解析成sql語句時(shí)候,會在變量外側(cè)自動加單引號' ',所以這里 % 需要使用雙引號" ",不能使用單引號 ' ',不然會查不到任何結(jié)果。
(3)使用CONCAT()函數(shù)連接參數(shù)形式
相關(guān)免費(fèi)學(xué)習(xí)推薦:java基礎(chǔ)教程