ssm打印sql如何开启_Mybatis如何在控制台打印执行的sql语句

log4j配置log4j.rootLogger=DEBUG, stdout, file, errorFile

# Console

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target=System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern = [%t] %d{yyyy-MM-dd HH:mm:ss,SSS} [%p]:%l - %m%n

# File

log4j.appender.file = org.apache.log4j.DailyRollingFileAppender

log4j.appender.file.File = ${user.home}/logs/output.log

log4j.appender.file.Append = true

log4j.appender.file.layout = org.apache.log4j.PatternLayout

log4j.appender.file.layout.ConversionPattern = [%t] %d{yyyy-MM-dd HH:mm:ss,SSS} [%p]:%l - %m%n

# Error File

log4j.appender.errorFile = org.apache.log4j.DailyRollingFileAppender

log4j.appender.errorFile.File = ${user.home}/logs/error_output.log

log4j.appender.errorFile.Append = true

log4j.appender.errorFile.threshold=ERROR

log4j.appender.errorFile.layout = org.apache.log4j.PatternLayout

log4j.appender.errorFile.layout.ConversionPattern =[%t] %d{yyyy-MM-dd HH:mm:ss,SSS} [%p]:%l - %m%n

###显示SQL语句部分

log4j.logger.com.mybatis=DEBUG

log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG

log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

各位看官,我这番配置是没问题吧?

但是在控制台SQL死活不出来。上网search...

很多很多,看的我眼花缭乱,像什么配置不通(此处槽点,我只是SQL语句打印不出来,其他一切正常,因此忽略)、需要slf4j-api-1.6.1.jar和slf4j-log4j12.-1.6.1.jar (maven库中有,忽略!),然后就是在网上找别人的配置,但是并没有什么卵用!

直接去mybatis文档查,兴许会有关于log的......

功夫不负有心人,果然有!摘抄一段:Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:SLF4J

Apache Commons Logging

Log4j 2

Log4j

JDK logging

具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。

不少应用服务器的classpath中已经包含Commons Logging,如Tomcat和WebShpere, 所以MyBatis会把它作为具体的日志实现。记住这点非常重要。这将意味着,在诸如 WebSphere的环境中——WebSphere提供了Commons Logging的私有实现,你的Log4J配置将被忽略。 这种做法不免让人悲催,MyBatis怎么能忽略你的配置呢?事实上,因Commons Logging已经存 在了,按照优先级顺序,Log4J自然就被忽略了

我去!mybatis还会这么玩啊!搞死我了。但是文档中并有直接说明如何通过修改配置文件实现,但是这个文档提供了对log4j的详细配置,值得看一下。文档中说了一大堆代码实现的,不喜欢这种。既然给了思路了是mybatis搞的鬼, 那就继续上网找资料...

在mybatis-config.xml配置文件中:<?xml  version="1.0" encoding="UTF-8" ?>

configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

重要的是:

在mybatis的配置文件中:setting节点里配置的值会直接改写Configuration对应的变量值,这些变量描述的是Mybatis的全局运行方式,如果对这些属性的含义不熟悉的话建议不要配置,使用默认值即可。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值