• 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
    

      



  • 相关阅读:
    [RxJS] defer() lazy evaluation
    [React] as component prop
    [Compose] Compose exercises
    MAC开发NDK非常的简单
    Android之zip包换肤(极力推荐)
    Android之获取sdcard卡的信息
    Android之Volley使用
    Android之与当前连接的wifi进行文件夹的浏览与传输
    android之获得当前连接wifi的名字
    android之截屏(包括截取scrollview与listview的)
  • 原文地址:https://www.cnblogs.com/huangjinyong/p/11209753.html
Copyright © 2020-2023  润新知