IDEA 集成log4j將SQL語(yǔ)句打印在控制臺(tái)上的實(shí)現(xiàn)操作
適用地點(diǎn):maven的mybatis的項(xiàng)目
配置log4j.properties

內(nèi)容為
log4j.rootLogger=error, Console log4j.logger.cn.bdqn.dao=debug #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
/*****************************************************/
同時(shí)maven庫(kù)找到如下三個(gè)jar包
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>test</scope> </dependency>
將其復(fù)制到pom.xml
補(bǔ)充:mybatis打印SQL日志最終解決方案
問(wèn)題
在程序調(diào)試時(shí)想要mybatis打印SQL日志,但它并沒(méi)有類似hibernate所提供的showsql功能,因此只能通過(guò)配置log4j日志輸出級(jí)別的方式來(lái)打印sql。
但網(wǎng)上搜到的答案幾乎都是下面的配置方式:
log4j.rootLogger=info,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout ###顯示SQL語(yǔ)句部分 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
rootLogger的級(jí)別是info,是為了防止其他類輸出debug的調(diào)試代碼(rootLogger若設(shè)為debug了,mybatis也沒(méi)必要再設(shè)置了)。
但這段代碼根本沒(méi)有作用!
解決方案
經(jīng)過(guò)一系列的嘗試,終于找到了解決方案,直接修改dao層(將com.github.vita.code.dao修改為你項(xiàng)目中dao的路徑)的輸出級(jí)別即可:
<loggers> <Logger name="com.github.vita.code.dao" level="trace" /> <root level="info"> <appender-ref ref="Console"/> </root> </loggers>
上面的是log4j 2的XML配置,log4j中對(duì)應(yīng)的配置為log4j.logger.com.github.vita.code.dao=trace。
這兒把輸出調(diào)成了更低的trace,可以看到更詳細(xì)的信息。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
- IDEA編寫(xiě)SQL語(yǔ)句沒(méi)有提示的解決辦法
- IDEA連接MySQL數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句使用數(shù)據(jù)圖文詳解
- idea配置檢查XML中SQL語(yǔ)法及書(shū)寫(xiě)sql語(yǔ)句智能提示的方法
- Idea連接數(shù)據(jù)庫(kù)并執(zhí)行SQL語(yǔ)句的方法示例
- 在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語(yǔ)句(推薦)
- idea mybatis配置log4j打印sql語(yǔ)句的示例
- idea中寫(xiě)sql語(yǔ)句沒(méi)有提示字段的問(wèn)題
相關(guān)文章
@RefreshScope 自動(dòng)刷新配置文件的實(shí)例講解
efreshScope(org.springframework.cloud.context.scope.refresh)是spring cloud提供的一種特殊的scope實(shí)現(xiàn),用來(lái)實(shí)現(xiàn)配置、實(shí)例熱加載,這篇文章主要介紹了@RefreshScope 自動(dòng)刷新配置文件,需要的朋友可以參考下2022-11-11
Dwr3.0純注解(純Java Code配置)配置與應(yīng)用淺析一之零配置文件化
Dwr對(duì)我來(lái)說(shuō)最重要的功能點(diǎn)就是反向Ajax調(diào)用,通俗來(lái)將就是后端可以直接調(diào)用前端的JS方法(只要在所能訪問(wèn)的范圍內(nèi)),這也就是Dwr的真正來(lái)由,當(dāng)然它也有最基本的前端直接調(diào)用后端的特性,省去了我們經(jīng)常的一般Ajax調(diào)用2016-04-04
java開(kāi)發(fā)的工廠方法模式及抽象工廠驗(yàn)證示例
這篇文章主要為大家介紹了java開(kāi)發(fā)中的工廠方法模式以及抽象工廠的驗(yàn)證示例,有需要的朋友可以借鑒參考下希望能夠有所幫助祝大家多多進(jìn)步2021-10-10
IntelliJ IDEA2021.1 配置大全(超詳細(xì)教程)
這篇文章主要介紹了IntelliJ IDEA2021.1 配置大全(超詳細(xì)教程),需要的朋友可以參考下2021-04-04
MyBatis使用注解開(kāi)發(fā)和無(wú)主配置文件開(kāi)發(fā)的情況
這篇文章主要介紹了MyBatis使用注解開(kāi)發(fā)和無(wú)主配置文件開(kāi)發(fā)的情況,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
SpringBoot全局配置long轉(zhuǎn)String丟失精度的問(wèn)題解決
web項(xiàng)目中,Java后端傳過(guò)來(lái)的Long/long類型,前端JS接收會(huì)丟失精度。那么應(yīng)該如何解決,本文就來(lái)介紹一下幾種方法,感興趣的可以了解一下2021-08-08
RabbitMQ?延遲隊(duì)列實(shí)現(xiàn)訂單支付結(jié)果異步階梯性通知(實(shí)例代碼)
這篇文章主要介紹了RabbitMQ?延遲隊(duì)列實(shí)現(xiàn)訂單支付結(jié)果異步階梯性通知,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02

