在使用durid的filter替换参数,打印可执行sql时,遇到的一个坑。
我们在使用replaceFirst、replaceAll时,由于是基于正则的替换,所以当第二个参数中包含特殊符号$时,会抛出异常(第一个参数、第二个传参是什么,请自行脑补^_^)。
解决办法:换换换,换过去再换回来。
paramValueStr = paramValueStr.replace()sql = sql.replaceFirst(paramValueStr)sql = sql.replace()
http://www.dreamlu.net/druid/jfinal/2017/09/22/Print-executable-SQL-using-the-Druid-LogFilter.html