使用MyBatis在控制台动态打印执行的sql语句

  使用MyBatis进行数据库操作的时候,sql语句都是写在相应的mapper文件中,参数也是使用占位符取值表示的,mapper文件中看不到实时执行的完整sql,有时候sql语句错误或者参数类型不对的时候,由于看不到完整执行的sql,所以无法确定到底是sql的问题,还是参数数值或者类型的问题。

  为了方便快速确定动态执行sql的问题,我们可以把动态执行的sql和参数打印到控制台,这时候通过控制台就可以看到执行的完整sql和相应的参数,可以快速定位到问题。

  在MyBatis的核心配置文件SqlMapConfig.xml中添加如下配置即可:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <!-- 控制台打印sql语句 -->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

  再执行sql时完整的sql语句和参数就会打印到控制台:

 

posted @ 2019-07-18 14:59  侧身左睡  阅读(10272)  评论(0编辑  收藏  举报