1

这是我的 MyBatis 映射器有问题的部分:

<foreach item="item" index="index" collection="xy" 
  open="(" separator="or" close=")">
     contains(t.mycol, '{' || #{item} || '}') > 0 
</foreach>

例如,如果 #{item} 包含“}”,我会得到:

Error code: DRG-50900
Description: text query parser error on line string, column string
Cause: bad query
  1. 如何正确转义所有可能有问题的字符?
  2. 把逻辑放在哪里?在映射器/dao/service..?

因此,例如 '}' 会被转义(如果文本已经包含转义的 '}' 以保持这种状态)。

项目中使用:

  • 爪哇 8
  • 春天
  • 甲骨文数据库
  • MyBatis
4

0 回答 0