Mybatis控制臺打印SQL語句的兩種方式實現
問題描述
在使用mybatis進行開發的時候,由於可以動態拼接sql,這樣大大方便瞭我們。但是也有一定的問題,當我們動態sql拼接的塊很多的時候,我們要想從*mapper.xml中直接找出完整的sql就會非常的難,這個時候經常會需要把組合之後的完整sql調試出來比較好。下面來看兩種調試出sql的兩種方式
解決方案
方案1:
網上說的比較多的,之前也是這麼用的一種方式
1:首先將ibatis log4j運行級別調到DEBUG可以在控制臺打印出ibatis運行的sql語句
2:添加如下語句:
###顯示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
方案2:
最近發現的一種方式,方便快捷
在mybatis.config.xml中增加如下配置:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> </configuration>
以上mybatis 調試出sql的兩種方式。
在SpringBoot中,修改application.yml文件
mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
到此這篇關於Mybatis控制臺打印SQL語句的兩種方式實現的文章就介紹到這瞭,更多相關Mybatis控制臺打印SQL內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 解決springmvc整合Mybatis的Log4j日志輸出問題
- mybatis-plus無法通過logback-spring輸出的解決方法
- Mybatis-plus常見的坑@TableField不生效問題
- 關於springboot中對sqlSessionFactoryBean的自定義
- Mybatis 如何在配置文件中給實體類起別名