H5W3
当前位置:H5W3 > 其他技术问题 > 正文

mybatis模糊查询时无结果,在数据库中运行语句有结果

问题描述:
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解析时,参数是不带引号的。

{}:占位符.相当于sql语句中的?

${}:字符串拼接指令,如果入参位普通类型,{}内只能位value

本文地址:H5W3 » mybatis模糊查询时无结果,在数据库中运行语句有结果

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址