mybatis 中特殊符号字符串的处理
在 mybatis 中,如果更新语句中传入的字符串包含特殊符号,可能会导致 sql 语法错误。一种常见的错误原因是特殊符号是 sql 关键词。
例如,以下更新语句可能抛出异常,如果 separator 参数是 ? 或 ! 之类的特殊符号:
UPDATE d_table SET separator = #{separator, jdbcType=VARCHAR} WHERE id = #{id, jdbcType=BIGINT}
解决方法
要解决此问题,需要找到问题的根本原因,即 separator 本身是一个 sql 关键词。要解决此问题,可以采用以下方法: