qq_33578832
码农很疯狂
采纳率0%
2018-05-16 11:21 阅读 1.2k

关于freeMarker创建动态sql中update的多逗号的问题

5

图片说明
如上图,使用freeMarker创建动态sql的update方法时候,如果最后一个updater创建者不入参的话,最后上一个参数的后面的逗号会打印到sql语句上报错,为什么最后一个参数可以识别出来是最后一个参数了可以自动将逗号去掉,而最后一个不入参的话,倒数第二个(phaseData)后的逗号不能识别去掉呢?求解如何解决该类问题!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • metaldong lakutony 2018-05-16 13:19

    在Mybatis里面的话需要在if外面加个 xx=xx, yy=yy, 这样加了逗号就不会有问题。

    点赞 1 评论 复制链接分享
  • qq_19972047 难得糊涂730 2018-05-17 14:15

    update svms_video_task set
    PHASE = :phase
    <#if result??>
    ,RESULT =:result

    <#if trace??>
    ,TRACE =:trace

    <#if useTime??>
    ,USETIME =:useTime

    <#if phaseData??>
    ,PHASE_DATA =:phaseData

    <#if updater??>
    ,UPDATER =:updater

    WHERE CHANNEL_ID = channelId AND PHASE = :phase

    点赞 1 评论 复制链接分享
  • qq_36037795 qq_36037795 2018-05-17 12:11

    把set改成标签 ,在里面放If , 它会自动删除多余的逗号

    点赞 评论 复制链接分享

相关推荐