系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、在配置文件中 application.yml 配置即可
- 二、#Log4g打印SqL语句
- 三、配置Logback
- 总结
前言
在SpringBoot中,我们可以使用日志框架来打印SQL语句,常用的日志框架有Logback和Log4j2。下面以Logback为例,介绍如何在SpringBoot中打印SQL语句。
一、在配置文件中 application.yml 配置即可
#spring boot集成mybatis的方式打印sql
logging:
level:
com.xxx.mapper: DEBUG // 包路径为mapper文件包路径
二、#Log4g打印SqL语句
mybatis
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
打印的sql语句
==> Preparing: select id, user_id as userId, role_id as roleId from t_user_role where user_id = ?
==> Parameters: 11(Integer)
<== Total: 0
/**
*第一行是sql语句
*第二行是参数
*第三行是返回的行数
*/
三、配置Logback
1.添加依赖
首先,在pom.xml文件中添加Logback的依赖:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
2.配置Logback
在src/main/resources目录下创建logback.xml文件,配置Logback的日志输出格式和日志级别。下面是一个简单的logback.xml配置文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.hibernate.SQL" level="debug"/>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
上面的配置文件中,我们定义了一个名为STDOUT的日志输出器,将日志输出到控制台。在logger标签中,我们指定了org.hibernate.SQL这个包的日志级别为debug,这样就可以打印SQL语句了。
3.测试
在代码中执行SQL语句时,Logback会自动打印SQL语句。例如,在SpringBoot中使用JdbcTemplate执行SQL语句:
@Autowired
private JdbcTemplate jdbcTemplate;
public List<User> findAll() {
String sql = "SELECT * FROM user";
return jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
}
执行以上代码时,Logback会自动打印出类似于下面的SQL语句:
17:28:06.441 [main] DEBUG org.hibernate.SQL - SELECT * FROM user
至此,我们已经成功地在SpringBoot中打印SQL语句了。需要注意的是,开发过程中不要将日志级别设置为debug,因为这样会打印出大量的调试信息,影响程序的性能。在生产环境中,建议将日志级别设置为info或者warn。
总结
需要系统源码或者BiShe加V
ID:talon712