Mybatis怎么能看是否執行了sql語句


項目需要學習mybatis中,本來mybatis也不是什么新技術,無奈之前沒接觸過。

驗證緩存機制時,需要能看到是否sql被執行了。這就需要增加日志的打印

 

配置如下

在pom中增加如下依賴:

<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>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta9</version>
</dependency>

 

log4j.properties 如下配置 log4j.rootLogger=debug,stdout  

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

 

增加一個 log4jdbc.log4j2.prpperties 內容如下:

dbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.debug.stack.prefix=
log4jdbc.sqltiming.warn.threshold=
log4jdbc.sqltiming.error.threshold=
log4jdbc.dump.booleanastruefalse=
log4jdbc.dump.sql.maxlinelength=
log4jdbc.dump.fulldebugstacktrace=
log4jdbc.statement.warn=
log4jdbc.dump.sql.select=
log4jdbc.dump.sql.insert=
log4jdbc.dump.sql.update=
log4jdbc.dump.sql.delete=
log4jdbc.dump.sql.create=
log4jdbc.dump.sql.addsemicolon=
log4jdbc.auto.load.popular.drivers=
log4jdbc.trim.sql=
log4jdbc.trim.sql.extrablanklines=
log4jdbc.suppress.generated.keys.exception=
log4jdbc.drivers=

最后在mybatis的全局配置文件中

<dataSource type="POOLED">
<property name="driver" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy" />
<property name="url" value="jdbc:log4jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="" />
</dataSource>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM