解决SSM不能将SQL打印到控制台

MyBatis 日志配置指南
本文档详细介绍了 MyBatis 框架中日志模块的配置方法及使用技巧,包括不同日志实现方式的配置示例,帮助开发者更好地理解和掌握如何在 MyBatis 中配置和使用日志。
http://www.mybatis.org/mybatis-3/zh/logging.html
在应用程序中开启控制台打印 SQL 语句,通常是通过配置持久层框架的日志实现方式来完成的。以下是几种常见开发框架的配置方法: ### MyBatis-Plus 配置控制台输出 SQL 日志 MyBatis-Plus 提供了多种日志实现方式的选择,可以通过配置文件指定使用哪种日志实现。 在 `application.yml` 或 `application.properties` 文件中进行如下配置: ```yaml mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 这样配置后,SQL 语句将会被输出到控制台,而不是日志文件中[^1]。 ### SSM 框架配置 Log4j2 输出 SQL 日志到控制台 SSM(Spring + Spring MVC + MyBatis)框架可以使用 Log4j2 来管理日志输出。首先需要引入 Log4j2 的依赖,并创建 `log4j2.xml` 配置文件。 #### 添加 Maven 依赖 ```xml <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.17.1</version> </dependency> ``` #### 创建 `log4j2.xml` 配置文件 ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Logger name="com.example.mapper" level="DEBUG"/> <Root level="INFO"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` 其中 `com.example.mapper` 是你的 Mapper 包路径,确保该包下的 SQL 日志级别设置为 `DEBUG` 或 `TRACE`,以便输出 SQL 语句[^2]。 ### MyBatis 配置控制台输出 SQL 日志 如果你直接使用的是 MyBatis 而不是 MyBatis-Plus,也可以通过类似的配置方式选择日志实现。 在 `mybatis-config.xml` 文件中添加以下内容: ```xml <configuration> <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> </configuration> ``` 此配置将启用 MyBatis 内置的控制台日志输出功能[^3]。 ### 总结 不同的框架有不同的配置方式,但核心思想是通过选择合适的日志实现或配置日志框架来控制 SQL 语句的输出位置。对于 MyBatis-Plus,可以直接通过 `log-impl` 属性选择 `StdOutImpl` 实现控制台输出;对于 SSM 框架,则可以通过配置 Log4j2 将 SQL 日志输出到控制台;而对于原生的 MyBatis,也可以通过内置的日志功能实现类似的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值