spring boot集成mybatis-plus——Mybatis Plus 打印 SQL 语句(包含执行耗时)

Mybatis Plus 打印 SQL 语句(包含执行耗时)

 更新时间 2023-01-08 17:03:24

一、前言

大家好,我是小哈。

《快速入门》 小节中,我们已经使用 Mybatis Plus 对数据库进行了最简单的 CRUD 操作,但是在实际项目中,增删改查操作会更加复杂,接下来,我们将更加深入的学习 Mybatis Plus 的增删改查。

在这之前呢,我们先配置一下 Mybatis Plus 打印 SQL 功能(包括执行耗时),以方便我们更直观的学习 CRUD, 一方面可以了解到每个操作都具体执行的什么 SQL 语句, 另一方面通过打印执行耗时,也可以规避一些慢 SQL,提前做好优化。注意,生产环境不推荐打印执行 SQL,会有数据泄漏风险,仅推荐本地开发使用。

TIP : 此种方式为官方推荐,通过 p6spy 组件来实现完整的 SQL 打印。请使用 Mybatis Plus 3.1.0 以上版本。

二、引入依赖

Maven

<dependency>
  <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>最新版本</version> </dependency> 

TIP: 最新版本 可在 Maven 仓库中查看,链接:https://mvnrepository.com/artifact/p6spy/p6spy

p6spy 最新版本p6spy 最新版本

Gradle

compilegroup: 'p6spy', name: 'p6spy', version: '最新版本'

三、添加配置

3.1 第一步:修改 application.yml 配置文件

application.yml 配置文件:

spring:
  datasource:
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://127.0.0.1:3306/test?characterEncoding=utf-8 ... 

注意:

  • driver-class-name 用 p6spy 提供的驱动类;
  • url 前缀为 jdbc:p6spy 跟着冒号,后面对应数据库连接地址;

3.2 第二步:添加 p6spy 配置文件

然后在 resources 目录下添加 spy.properties 配置文件:

添加 spy.properties 配置文件添加 spy.properties 配置文件

配置文件内容如下:

#3.2.1以上使用
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1以下使用或者不配置
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印 logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger #日志输出到控制台 appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger # 使用日志系统记录 sql #appender=com.p6spy.engine.spy.appender.Slf4JLogger # 设置 p6spy driver 代理 deregisterdrivers=true # 取消JDBC URL前缀 useprefix=true # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. excludecategories=info,debug,result,commit,resultset # 日期格式 dateformat=yyyy-MM-dd HH:mm:ss # 实际驱动可多个 #driverlist=org.h2.Driver # 是否开启慢SQL记录 outagedetection=true # 慢SQL记录标准 2 秒 outagedetectioninterval=2 

四、看看打印效果

配置添加完成后,单元测试执行一条插入语句:

@Test
    void testInsertUser() {
        System.out.println(("----- 开始测试 mybatis-plus 插入数据 ------")); User user = User.builder() .name("犬小哈教程 www.quanxiaoha.com") .age(30) .gender(1) .build(); userMapper.insert(user); } 

打印效果图如下,可以看到完整的打印了执行语句,以及执行耗时为 8ms:

SQL 打印效果图SQL 打印效果图

五、注意点

p6spy 组件请勿在生产环境使用,因为有性能损耗,推荐仅本地开发开启使用。

六、结语

本文给大家介绍了在项目用使用 Mybatis Plus 持久层框架时,如何通过 p6spy 组件完整的打印 SQL 语句,以及执行耗时,此功能对于本地开发非常有帮助,有兴趣的小伙伴赶紧在自己的项目中集成一下吧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring BootMyBatis-Plus是两个流行的Java开发框架。Spring Boot是一个用于简化和加速Java应用程序开发的框架,而MyBatis-PlusMyBatis的增强版,提供了更多的特性和功能。 使用Spring Boot2和MyBatis-Plus的组合,能够使开发过程更加高效和简便。Spring Boot2已经集成了很多常用的配置和功能,例如自动配置、快速启动器和监控等。这些功能使得开发者可以更加专注于业务逻辑而不用过多关注繁琐的配置。 而MyBatis-Plus提供了一系列强大且易于使用的功能,例如代码生成器、分页查询、逻辑删除和性能优化等。代码生成器能够帮助开发者快速生成数据库表对应的实体类、Mapper接口以及XML映射文件,大大提高了开发效率。分页查询和逻辑删除功能使得数据操作更加方便和灵活。另外,MyBatis-PlusSQL语句进行了优化,能够提升数据库查询的性能。 使用Spring Boot2和MyBatis-Plus的组合还能够更好地兼容其他常用的开发工具和框架,例如Spring Security和Swagger等。Spring Security提供了安全认证和授权的功能,能够保护应用程序的安全性。Swagger可以生成API文档,并提供了一个用户友好的UI界面,方便开发者进行接口测试和调试。 总之,Spring Boot2和MyBatis-Plus的组合能够提高开发效率、简化配置、优化性能并提供额外的功能。对于Java开发者来说,这是一个非常不错且受欢迎的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值