mybatis配置输出执行sql日志

配置日志打印sql

方式一,设置mybatis日志输出类
#输出查询结果,注意,这个类实现是用system.out输出的,打印到了控制台上。
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#不输出查询结果,设置这个类,还需要设置dao所在包级别=debug
#mybatis.configuration.log-impl=org.apache.ibatis.logging.log4j2.Log4j2Impl
设置mapper接口日志等级为debug
logging.level.com.xxx.xxx.dao=DEBUG

方式三,貌似有时使用logback时,上面的配置都不管用

修改这种方式配置

    <!--sql的debug-->
    <property name="SQL_DEBUG_CONSOLE_LOG_PATTERN"
              value="%logger %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

    <!--sql debug输出到控制台-->
    <appender name="sqlConsole" class="ch.qos.logback.core.ConsoleAppender">
        <!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>debug</level>
        </filter>
        <encoder>
            <Pattern>${SQL_DEBUG_CONSOLE_LOG_PATTERN}</Pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>
  <!--这里会捕获logger中属性 loggerr.name以 com.xxx.xxx.dao作为开头的所有 logger,设置它的logger属性-->
    <logger name="com.xxx.xxx.dao" level="DEBUG">
        <appender-ref ref="sqlConsole"/>
    </logger>
  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MyBatis是一个优秀的持久层框架,可以将数据库的操作变得非常简单和高效。在使用MyBatis执行SQL语句时,我们可以通过配置来开启或关闭MyBatis日志记录功能,从而实现原样输出SQL执行语句。 要想在控制台输出MyBatisSQL执行语句,我们可以通过在配置文件中配置`logImpl`属性为"log4j"、"java.util.logging"或"SLF4J"等日志实现类的全限定名,来实现日志输出。 例如,如果我们使用log4j作为日志记录的实现,我们需要在配置文件中添加如下配置: ``` <configuration> <properties> <!-- 其他配置 --> <property name="mybatis.log.impl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/> </properties> <!-- 其他配置 --> </configuration> ``` 配置完成后,MyBatis将使用log4j来进行日志记录,并将SQL执行语句原样输出到控制台或日志文件中,方便我们进行调试和优化。 当我们执行具体的SQL语句时,MyBatis会在日志输出类似下面的信息: ``` DEBUG [main] statement - ==> Preparing: SELECT * FROM user WHERE id = ? DEBUG [main] statement - ==> Parameters: 1(Integer) ``` 可以看到,MyBatis首先会输出"Preparing",表示正在准备执行SQL语句;然后会输出"Parameters",表示SQL语句中的参数值。 通过这种方式,我们可以清晰地看到MyBatis执行SQL语句及参数值,方便我们进行调试和排查问题。同时,MyBatis还提供了其他一些配置项,可以进一步调整日志输出方式和级别,以满足我们的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值