配合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是不是都出来了

开启mysql的常规查询日志所谓的常规查询日志,就是客户端 *** 作的所有日志,包括select delete insert update等等所有的sql语句开启的办法很简单:1 在etc/mysql/mycnf中,加入注:如果 /var/log/mysql 这个目录对于mysql用户可写,那么重启mysql的时候会自动生成accesslog这个文件。如果该目录对于mysql不可写,那么手工创建这个目录,并加入mysql用户的写权限。

不知道楼主使用的是什么工具查询的什么数据库,从展示的形式上看,像是使用SQLPLUS查询oracle数据库的样子。
SQLPLUS中,可以使用
COL colname FORMAT a4 其中colname为你的列名,a4为4位字符
如果是数字,可以为:9099等等
相关的内容可以参照:
>此处使用log4j,加入jar包,然后在src路径下加入:log4jproperties文件
填入以下配置就可以打印了
log4jrootLogger=DEBUG, Console
#Console
log4jappenderConsole=orgapachelog4jConsoleAppender
log4jappenderConsolelayout=orgapachelog4jPatternLayout
log4jappenderConsolelayoutConversionPattern=%d [%t] %-5p [%c] - %m%n
log4jloggerjavasqlResultSet=INFO
log4jloggerorgapache=INFO
log4jloggerjavasqlConnection=DEBUG
log4jloggerjavasqlStatement=DEBUG
log4jloggerjavasqlPreparedStatement=DEBUG
log4jrootLogger=DEBUG, Console
#Console
log4jappenderConsole=orgapachelog4jConsoleAppender
log4jappenderConsolelayout=orgapachelog4jPatternLayout
log4jappenderConsolelayoutConversionPattern=%d [%t] %-5p [%c] - %m%n
log4jloggerjavasqlResultSet=INFO
log4jloggerorgapache=INFO
log4jloggerjavasqlConnection=DEBUG
log4jloggerjavasqlStatement=DEBUG
log4jloggerjavasqlPreparedStatement=DEBUG

如果是调试程序的话,在phpcms/libs/classes/mysqlclassphp 这个文件里的
private function execute($sql) {
这行下面加上
echo $sql;
exit();


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

原文地址:https://www.54852.com/yw/12956937.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-29
下一篇2025-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存