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

2025-05-29 0 36

问题描述

在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好。下面来看两种调试出sql的两种方式

解决方案

方案1:

网上说的比较多的,之前也是这么用的一种方式

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

2:添加如下语句:

?

1

2

3

4

5

6

7

8
###显示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中增加如下配置:

?

1

2

3

4

5

6

7

8

9

10
<?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文件

?

1

2

3
mybatis:

configuration:

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

到此这篇关于Mybatis控制台打印SQL语句的两种方式实现的文章就介绍到这了,更多相关Mybatis控制台打印SQL内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://www.cnblogs.com/huangjinyong/p/11209753.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Mybatis控制台打印SQL语句的两种方式实现 https://www.kuaiidc.com/108093.html

相关文章

发表评论
暂无评论