为了账号安全,请及时绑定邮箱和手机立即绑定

mybatis 模糊查询like问题

映射文件中的like '%' #{symptomName} '%' 就报语法错误

<if test="symptomName != null and !&quot;&quot;.equals(symptomName.trim())">
   and symptom_name like '%' #{symptomName} '%'
</if>



Caused by: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'name like '%' ? '%') tmp_count', expect RPAREN, actual QUES pos 174, line 6, column 39, token QUES : select count(0) from (select
         
        symptom_code,symptom_name,synonym
     
        from  western_medicine_symptone_synonym
         WHERE  symptom_name like '%' ? '%') tmp_count

正在回答

2 回答

改成这样  and symptom_name like  concat('%' ,#{symptomName}, '%')

0 回复 有任何疑惑可以回复我~
#1

慕仙4974986 提问者

非常感谢!
2018-06-22 回复 有任何疑惑可以回复我~

你把下面一段放到Mysql中运行试一下。不过为什么要用select count from呢

select count(0) from (select
         
        symptom_code,symptom_name,synonym
     
        from  western_medicine_symptone_synonym
         WHERE  symptom_name like '%' ? '%') tmp_count


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
通过自动回复机器人学Mybatis---基础版
  • 参与学习       107417    人
  • 解答问题       786    个

微信公众号自动回复功能学习Mybatis,基础教程加案例实战方式学习

进入课程

mybatis 模糊查询like问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信