bug调试之利用logback文件使mybatis打印sql

        logback是由log4j创始人设计的又一个开源的日志组件。logback当前分为三个模块:logback-core,logbace-classic和logback-access.logback-core是其他两个模块的基础模块。logback-classic是log4j的一个改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换其它日志如log4j或loggin。logback-ass访问模块与Servlet容器集成提供通过Http来访问日志的功能。

        接下来我们就来说一下运用logbacke文件使mybatis打印sql的这一小技巧。

        在我们在调试程序的时候,有一些xml中的sql非常复杂,并且他的各个变量的赋值也现对比较的多,就如下图:

bug调试之利用logback文件使mybatis打印sql

这个sql对几个表的数据进行了连接,大部分的情况下还有可能不是我们自己写的,但是为了提高效率优化sql也好,改变sql的查询方式的好,都需要我们对这个sql进行还原,这个时候我们就可以利用到logback文件了,我们可以在logback文件中添加这一段代码bug调试之利用logback文件使mybatis打印sql

name为你要扫描的包,当level为DEBUG的时候查询运行到那个sql,就会把sql打印出来,当level为INFO时则不做任何操作,

在调试的过程中你可以和debug模式结合,在你需要执行的关系sql上加上断点,在执行该语句前把所有的语句都清空,这样就能保证你执行的sql,就是你需要的sql了。

bug调试之利用logback文件使mybatis打印sql


        可以看到我们得到的sql的格式是混乱的,我这里呢就告诉大家一个小技巧,当我们的一些数据代码的格式混乱看不清时我们可以利用一些在线的格式化工具,对数据进行格式化比如 http://tool.oschina.net/codeformat/sqlbug调试之利用logback文件使mybatis打印sql

bug调试之利用logback文件使mybatis打印sql

        直接可以很清楚的看到?,对应这些?把数据填充进去,就可以查询了,接下来就可以进行你需要做的操作了