zoukankan      html  css  js  c++  java
  • 设置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.cfg.xml中增加如下配置

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

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

  • 相关阅读:
    大数据测试2
    大数据测试3
    CROSS APPLY和 OUTER APPLY 区别详解
    SQL中的escape的用法
    Sql Server参数化查询之where in和like实现详解
    多行文本框换行符处理
    Cross Apply的用法
    交叉连接Cross Join的用法
    统计字符串中某个字符的个数
    JOIN用法
  • 原文地址:https://www.cnblogs.com/vianzhang/p/8244833.html
Copyright © 2011-2022 走看看