如何让mybatis打印出执行的sql

如何让mybatis打印出执行的sql,第1张

mybatis默认使用log4j,当有self4j这个日志jar包存在时会无法打印sql,请移除或者在工程启动时显示设置mybatis使用的日志类:

log4jloggerorgapacheibatis=debug,stdout log4jloggerjavasql=debug,stdout

这样有时可能却不是个可行的办法,原因在于不可能移除self4j包,因为其他依赖包必须依赖这个包。 mybatis有如下方法来手动选择日志类,调用后成功打印日志 如果引用了slf4j的包,并且要使用log4j需要加入slf4j-log4j12的包,如果没有加入slf4j-log4j12的包是无法打印sql的。。具体log4j文件如下:

log4jrootCategory=info, stdout , R

log4jappenderstdout=orgapachelog4jConsoleAppender

log4jappenderstdoutlayout=orgapachelog4jPatternLayout

log4jappenderstdoutlayoutConversion

Pattern=[QC] %p [%t] %C%M(%L) | %m%n

log4jappenderR=orgapachelog4jDailyRollingFileAppender

log4jappenderRFile=D:\\reportlog

log4jappenderRlayout=orgapachelog4jPatternLayout

log4jappenderRlayoutConversionPattern=%d-[TS] %p %t %c - %m%n

log4jloggercomibatis=debug

log4jloggercomibatiscommonjdbcSimpleDataSource=debug

log4jloggercomibatiscommonjdbcScriptRunner=debug

log4jloggercomibatissqlmapengineimplSqlMapClientDelegate=debug

log4jloggerjavasqlConnection=debug

log4jloggerjavasqlStatement=debug

log4jloggerjavasqlPreparedStatement=debug,stdout

现在重启tomcat,执行一条语句看看,sql是不是都出来了

最常用的 log4jproperties 来实现。

log4jproperties 内容如下:

log4jrootCategory=info, stdout , R

log4jappenderstdout=orgapachelog4jConsoleAppender

log4jappenderstdoutlayout=orgapachelog4jPatternLayout

log4jappenderstdoutlayoutConversionPattern=[QC] %p [%t] %C%M(%L) | %m%n

log4jappenderR=orgapachelog4jDailyRollingFileAppender

log4jappenderRFile=D:/my_loglog

log4jappenderRlayout=orgapachelog4jPatternLayout

log4jappenderRlayoutConversionPattern=%d-[TS] %p %t %c - %m%n

log4jloggercomibatis=debug

log4jloggercomibatiscommonjdbcSimpleDataSource=debug

log4jloggercomibatiscommonjdbcScriptRunner=debug

log4jloggercomibatissqlmapengineimplSqlMapClientDelegate=debug

log4jloggerjavasqlConnection=debug

log4jloggerjavasqlStatement=debug

log4jloggerjavasqlPreparedStatement=debug,stdout

有人在网上说不能用 slf4jjar ,这个说法应该是错误的, slf4j 只是提供了很多接口,可以供很多日志系统用,并不是具体的解决方案,我的jar 包用到

slf4j-api-158jar

slf4j-log4j12-158jar

log4j-1215jar

貌似版本比较老,但可以使用,可以参考一下。

通过这种方式mybatis 就可以在控制台打印出sql语句,并且也可以写到日志文件中去。但是还没有format sql, 我也在研究,不过目前没进展,应该mybatis 不支持吧。

以上就是关于如何让mybatis打印出执行的sql全部的内容,包括:如何让mybatis打印出执行的sql、如何在mybatis中调试查看生成的sql语句、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10108404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存