druid sql.html,使用Druid LogFilter打印可执行的sql(转)

有不少人问如何在输出 sql 的同时输出查询所用的参数,再转发 @dreamlu 的一篇博文,希望对大家有用:

通常在java项目开发为了防止sql注入我们通常都采用的预编译的sql,采用“?”号挂参,如下:SELECT * FROM blog WHERE id = ?

往往在开发测试阶段能获取到完整的可执行的sql能帮我们及时的发现和定位问题。就有了很多朋友使用log4jdbc来记录SQL信息

Druid中LogFilter的配置项

如下图我们可以看到有一项statementExecutableSqlLogEnable默认为false

9ba0aed48380b4332cc5a4c9d9675901.png

配置

这里我们以JFinal和Log4j最为演示的例子

java代码// 配置Druid数据库连接池插件

DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, user, password);

// 配置log插件

Log4jFilter logFilter = new Log4jFilter();

logFilter.setStatementLogEnabled(false);

logFilter.setStatementLogErrorEnabled(true);

logFilter.setStatementExecutableSqlLogEnable(true);

druidPlugin.addFilter(logFilter);

log4j.properties中添加log4j.logger.druid.sql.Statement=DEBUG

druid中支持的日志FilterLog4jFilter

Slf4jLogFilter

Log4j2Filter

CommonsLogFilter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值