mybatis 显示sql
时间: 2023-09-14 21:06:34 浏览: 93
MyBatis动态SQL.pdf
在 MyBatis 中,可以通过以下两种方式来显示 SQL 语句:
1. 在 MyBatis 配置文件中开启日志
在 MyBatis 的配置文件中,可以配置日志的级别和输出方式。如果将日志级别配置为 DEBUG 或 TRACE,则可以看到 MyBatis 执行的 SQL 语句。例如:
```xml
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<typeAliases>
...
</typeAliases>
<mappers>
...
</mappers>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
...
</mappers>
<loggers>
<logger name="org.mybatis.example.BlogMapper" level="TRACE" />
<logger name="org.mybatis.example.*" level="TRACE" />
</loggers>
</configuration>
```
在上述配置文件中,将日志输出方式设置为 STDOUT_LOGGING,将日志级别设置为 TRACE。然后在需要输出 SQL 语句的 Mapper 接口中,添加 @Mapper 注解,例如:
```java
@Mapper
public interface BlogMapper {
@Select("SELECT * FROM blog WHERE id = #{id}")
Blog selectBlog(int id);
}
```
在应用程序运行时,MyBatis 将输出 SQL 语句到控制台中。
2. 使用 Log4j 或 Logback 日志框架
如果使用 Log4j 或 Logback 日志框架,可以在配置文件中添加 MyBatis 的日志输出配置。例如,使用 Log4j2 的配置如下:
```xml
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="STDOUT"/>
</Root>
<Logger name="org.mybatis.example.BlogMapper" level="DEBUG" additivity="false">
<AppenderRef ref="STDOUT"/>
</Logger>
<Logger name="org.mybatis.example.*" level="DEBUG" additivity="false">
<AppenderRef ref="STDOUT"/>
</Logger>
</Loggers>
</Configuration>
```
在上述配置文件中,将日志输出方式设置为控制台,将日志级别设置为 DEBUG。然后在需要输出 SQL 语句的 Mapper 接口中,添加 @Mapper 注解。在应用程序运行时,MyBatis 将输出 SQL 语句到控制台中。
阅读全文