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

  




免責聲明!

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



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