Java sql 转义

场景

拼接sql语句执行like查询

解决方案

  1. 将单个单引号('),替换为两个('')
  2. 自定义Escape字符比如(/)
  3. 给关键字符(\_,%,[,],)加前缀Escape字符(/\_,/%,/[,/])
  4. 最终sql语句的like部分类似 like 'ni''hao/_wor/%ld' Escape '/'

代码

char escape='/'; 
text = text.replaceAll("'","''"); 
text = text.replaceAll("[\\[\\]\\_%]",escape+"$0");

结果类似:

like 'ni''hao/\_wor/%ld' ESCAPE '/'

你可能感兴趣的:(Java sql 转义)