洛阳处处是月明 2022-06-13 12:49 采纳率: 50%
浏览 21

为什么like之后总是平白无故多一个?

问题遇到的现象和发生背景

这是利用mybatis-plus写的一个代码,但是like之后总多一个',(单引号)

问题相关代码,请勿粘贴截图
    <update id="updateDaily" >
<bind name="likeLeft" value="name+'%'"/>
        update province_cases
        set value=value+#{add},cure=cure+#{cure},death=death+#{death},add=#{add}
      <if test="name != '' and name != null">
          where province_cases.name like #{likeLeft}
      </if>
    </update>
运行结果及报错内容

==> Preparing: update province_cases set value=value+?,cure=cure+?,death=death+?,add=? where province_cases.name like ?
==> Parameters: 3, 3(Long), 3, 3, 山东%(String)
但是之后又出现了:

[dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:

Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'add=3

** where province_cases.name like '山东%'' at line 2**

我的解答思路和尝试过的方法

我试过在like之后直接添加#{name},或者字符串拼接,但是最后都会有个单引号

我想要达到的结果

有经验的程序员能说一下怎么改正吗?

  • 写回答

2条回答 默认 最新

  • 於黾 2022-06-13 13:11
    关注

    你这明显不是多了个单引号,是少了个单引号
    在sql中,字符串必须单引号包裹住

    评论

报告相同问题?

问题事件

  • 创建了问题 6月13日

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?