Mybatis控制台打印SQL语句的两种实现方式
更新时间:2024年10月29日 15:35:24 作者:houxian1103
在使用Mybatis开发时,由于可以动态拼接SQL,当动态SQL拼接块过多,直接从*mapper.xml中找出完整的SQL较难,此时,可以通过两种方法调试出SQL,方法一,将ibatislog4j运行级别调到DEBUG,在控制台打印出ibatis运行的SQL语句
问题描述
在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。
但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整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.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
方案二
在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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Cloud 系列之负载均衡 Ribbon的示例代码
Ribbon 是 Netflix 发布的负载均衡器,它有助于控制 HTTP 和 TCP 客户端的行为。这篇文章主要介绍了Spring Cloud 系列之负载均衡 Ribbon的示例代码,需要的朋友可以参考下2020-11-11
Spring中的EventListenerMethodProcessor组件详解
这篇文章主要介绍了Spring中的EventListenerMethodProcessor组件详解,EventListenerMethodProcessor 是 Spring 事件机制中非常重要的一个组件,它管理了一组EventListenerFactory组件,用来将应用中每个使用@EventListener注解定义的事件监听,需要的朋友可以参考下2023-12-12


最新评论