开发者

Mybatis控制台打印SQL语句的两种实现方式

目录
  • 问题描述
  • 解决方案
    • 方案一
    • 方案二
  • 总结

    问题描述

    在使用myBATis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。

    但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.XML中直接找出完整的sql就会非常的难,php这个时候经常会需要把组合之后的完整sql调试出来比较好。

    下面来看两种调试出sql的两种方式

    解决方案

    方案一

    1:首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句

    2:添加如下语句:

    ###显示SQL语句部分
    log4j.logger.com.ibatis=DEBUG
    log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
    log4j.logger.KnKQGkJcom.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

    方案二

    在mybatis.config.xml中增加如下配置:

    <?xml verswww.devze.comion="1.0" encoding="UTF-8"?>
    <!DOCTYPpythonE 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>
    </configuratjsion>

    以上mybatis 调试出sql的两种方式。

    在SpringBoot中,修改application.yml文件

    mybatis:
    configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜