关于replaceFirst、replaceAll的坑

在使用durid的filter替换参数,打印可执行sql时,遇到的一个坑。

我们在使用replaceFirst、replaceAll时,由于是基于正则的替换,所以当第二个参数中包含特殊符号$时,会抛出异常(第一个参数、第二个传参是什么,请自行脑补^_^)。


解决办法:换换换,换过去再换回来。


paramValueStr = paramValueStr.replace()sql = sql.replaceFirst(paramValueStr)sql = sql.replace()


评论区

Dreamlu

2017-09-22 12:00

不需要自己折腾的,Druid里面的logFilter里面自带得有,我刚看了你这个问题,去写了篇博客,你可以参考下:
http://www.dreamlu.net/druid/jfinal/2017/09/22/Print-executable-SQL-using-the-Druid-LogFilter.html

jounzhang

2017-09-26 09:57

@Dreamlu 赞一个,之前不知道有这东西。

热门分享

扫码入社