mybatis日志打印sql详解

KLQ 2020-06-18 09:24:37 java常见问答 3487

你知道mybatis日志打印sql应该怎样操作吗?下面要给大家带来的这个实例就是这一方面的内容,一起来了解一下吧。

我看了很多的例子,大多数都是下面这种,可是,说句实话,试了很久都是失败的。

###
显示SQL语句部分
log4j.logger.com.ibatis = DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.Java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG

并且,除了这个之外,还有一些都加上了下面这个东西,其实吧,加上了这句话,那么就完全没有必要加mybatis的那些配置了,日志照常可以打印,可是,这样的话会将一些没有用的又或者是我们不大需要的日志都一起打印出来。

log4j.rootLogger = DEBUG, stdout

那么究竟什么样的方法可以成功的实现mybatis日志打印sql呢?

可以来看看下面的这两个方法。

首先是mybatis自带的settings。(这个的话,就只要在mybatis-config.xmi当中加入这句话就可以了。configuration下的标签有顺序,否则会报错:properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?

<settings>  
       <setting name="logImpl" value="STDOUT_LOGGING" />  
  </settings>

第二个就是利用LOG4J。

在log4j.properties当中,其实,只要在你的dao层,也就是说mapper的接口层日志等级设置为DEBUG就就可以了。

log4j.logger.com.demo.mapper = DEBUG

其实mybatis日志打印sql的方法还是比较的简单的,希望上面的文章内容可以对你有所帮助呢。

你还想了解更多关于mybatis的常见问题吗?可以继续来奇Q工具网进行了解哦。

推荐阅读:

mybatis调用存储过程有哪些步骤?

mybatis二级缓存面试大全,mybatis企业必问面试题java

简述mybatis执行流程都有哪些?