问题描述:
mybatis模糊查询时无结果,在数据库中运行语句有结果,参数的创制无问题,但是查询结果为0条
尝试:
select * from book_t where #{searchType} like concat('%',#{searchWord},'%')
将查询的语句变成select * from book_t where #{searchType} like '我';
可以正常执行,证明mybatis是可以在where后使用传入参数的。
想要根据多选框的选项做where后面的条件,再进行模糊查询
select * from book_t where ${searchType} like concat('%',#{searchWord},'%')
searchType 用#的话就解析成"xx"去数据库搜索那搜索不到
井号与$的区别最大在于:#{} 传入值时,sql解析时,参数是带引号的,而${}穿传入值,sql解析时,参数是不带引号的。
${}:字符串拼接指令,如果入参位普通类型,{}内只能位value