mybatis结合 log4j单元测试打印出sql语句

来源:互联网 发布:vb单选按钮选中事件 编辑:程序博客网 时间:2024/06/18 06:57


在用单元测试,测试mybatis的demo的时候,发现使用log4j只能够打印出测试结果,无法打印出完整的sql信息。

为了打印sql语句信息,需要结合log4jjdbc-log4j2就可以查看完整的SQL调试信息。


一、maven的pom文件引用jar


在pom文件中配置maven,下面3个都需要。


<dependency><groupId>org.bgee.log4jdbc-log4j2</groupId><artifactId>log4jdbc-log4j2-jdbc4.1</artifactId><version>1.16</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.13</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.13</version></dependency>


二、配制如下信息


(1)目录如下


(2)log4j.properties文件


### 设置Logger输出级别和输出目的地 ### debug更详细,如果设为info那么打印出的表数据遇到字符串就不显示,此外还有logfilelog4j.rootLogger=debug,stdout  ### 把日志信息输出到控制台 ###log4j.appender.stdout=org.apache.log4j.ConsoleAppender   #log4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayout   ### 把日志信息输出到文件:jbit.log ###log4j.appender.logfile=org.apache.log4j.FileAppender   log4j.appender.logfile.File=jbit.log   log4j.appender.logfile.layout=org.apache.log4j.PatternLayout   log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n   log4j.logger.mapperNS =TRACE###显示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  log4j.logger.java.sql.ResultSet=DEBUG  # 设置不打印springframework.apache等多余信息log4j.logger.org.springframework=error log4j.logger.org.apache=ERROR  log4j.logger.org.mybatis=ERROR 

(3)log4jdbc.log4j2.prpperties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator 


三、测试例子


1.测试调用效果

@Testpublic void TestGeneralSql( ){TrainingProgramsEntity t = new TrainingProgramsEntity();//t.setId("00114F8E7C50DB05F72B26");//t.setRemark("test");t.setOperator("栗振娟"); int count= trainingProgramsFacade.TestGeneralSql(t); System.out.println("========="+count);}

2.打印效果



四、参考博客连接


http://blog.csdn.net/21aspnet/article/details/50560874#html


小结:

日志这一块还不太懂,需要研究下。





原创粉丝点击