mybatis打印sql语句到控制台

mybatis打印sql语句到控制台

今天因为mybatis的查询效果和预期有所不同,所以要看运行过程中的sql语句
具体配置如下
其中主要是logImpl选择log4j

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="cacheEnabled" value="false" />
        <setting name="lazyLoadingEnabled" value="false" />
        <setting name="useGeneratedKeys" value="true" />
        <setting name="logImpl" value="LOG4J" />
    </settings>
</configuration>
log4j的属性文件如下
```xml
log4j.rootLogger=INFO,console,file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %d %37c %3x - %m%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Threshold = ERROR
log4j.appender.file.DatePattern='-'yyyy-MM-dd
log4j.appender.file.File=e:/log/MicroMessagempmenu.log
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%-5p] %d %37c %3x - %m%n
log4j.logger.com.zbej.ehome.mybatis.dao=TRACE

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.org.mybatis=DEBUG  
log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG  
log4j.logger.java.sql.ResultSet=DEBUG 

log4j.logger.com.zbej.ehome.mybatis.dao=TRACE这一个必须要配置
具体可以看http://www.mybatis.org/mybatis-3/zh/logging.html

### 配置 MyBatis 打印 SQL控制台 对于希望在基于 Spring Boot 的项目中配置 MyBatis打印 SQL 语句控制台的情况,可以在 `application.yml` 或者 `.properties` 文件里加入特定设置来实现这一功能。具体来说: #### 使用 application.yml 进行配置 通过编辑项目的 `application.yml` 文件并添加如下内容可以使得每次执行 SQL 查询时都将对应的 SQL 语句输出到日志中。 ```yaml mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 此段配置指定了 MyBatis 应该采用的标准输出方式为 `org.apache.ibatis.logging.stdout.StdOutImpl`, 它会把所有的 SQL 日志信息发送给标准输出流即控制台[^1]。 #### 对于 .properties 文件的配置方法相同 如果偏好使用 `.properties` 格式的文件,则相应的属性应写作: ```properties mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl ``` 这同样达到了使 MyBatis 将其内部产生的 SQL 命令记录下来并通过控制台显示的效果。 另外,在 Java 项目开发过程中特别是本地调试阶段,为了更清晰地了解应用程序同数据库之间的互动细节,启用 SQL 打印是非常有帮助的做法之一[^2]。 当涉及到具体的业务逻辑编码部分,比如在一个 RESTful API 方法里面调用了 MyBatis Plus 提供的服务接口来进行分页查询操作的时候,虽然这里主要关注的是如何让框架本身显示出所构建出来的最终 SQL 文本而不是修改任何服务层或者 DAO 层代码,但是确保整个链路畅通无阻也是很重要的[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值