0


SpringBoot中打印 sql 语句

系列文章目录


文章目录


前言

在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,newBeanPropertyRowMapper<>(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

标签: spring boot sql mybatis

本文转载自: https://blog.csdn.net/pleaseprintf/article/details/131145964
版权归原作者 数据大魔王 所有, 如有侵权,请联系我们删除。

“SpringBoot中打印 sql 语句”的评论:

还没有评论