您的位置:首页 > 数据库

设置Mybatis打印调试sql的两种方式

2017-03-03 16:56 387 查看
http://blog.csdn.net/gao36951/article/details/53641432

**************************************************

问题描述

在使用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.cfg.xml中增加如下配置

<settings>中增加
<setting name="logImpl" value="STDOUT_LOGGING" />


以上mybatis 调试出sql的两种方式,Mark~~~

补充:

在spring boot 中,可以配置application.properties

# --- {Logging}
logging.level.com.neusoft.newsroom=INFO
logging.level.org.springframework.security=INFO
logging.level.org.hibernate=ERROR
logging.level.com.mypackage.domain.persistence=DEBUG

参考
http://www.mybatis.org/mybatis-3/zh/logging.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: