Mybatis-Plus性能分析插件

Mybatis-Plus性能分析插件

1、性能分析插件

我们在平时的开发中,会遇到一些慢sql。

测试! druid,…MP也提供性能分析插件,如果超过这个时间就停止运行!

1、导入插件

//SQL执行效率插件
@Bean
@Profile({"dev","test"})//开启环境保护,保证我们的效率
public PerformanceInterceptor performanceInterceptor(){
    PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
    performanceInterceptor.setMaxTime(1);//设置执行sql的最大时间,如果超过则不执行
    performanceInterceptor.setFormat(true);//开启sql语句格式化
    return performanceInterceptor;
}

application.yml配置文件

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/mybatis
    driver-class-name: com.mysql.jdbc.Driver
  #设置开发环境
  profiles:
    active: dev
#配置日志
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  #配置逻辑删除
  global-config:
    db-config:
      logic-delete-value: 1
      logic-not-delete-value: 0

2、测试使用

//测试批量查询
@Test
void SelectByBatchId(){
    List<user> users=mapper.selectBatchIds(Arrays.asList(1L,2L,3L));
    users.forEach(System.out::println);
}

测试结果

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17e9bc9e] was not registered for synchronization because synchronization is not active
JDBC Connection [HikariProxyConnection@1690796457 wrapping com.mysql.cj.jdbc.ConnectionImpl@71ed560f] will not be managed by Spring
==>  Preparing: SELECT id,name,age,email,version,deleted,create_time,update_time FROM user WHERE id IN ( ? , ? , ? ) AND deleted=0 
==> Parameters: 1(Long), 2(Long), 3(Long)
<==    Columns: id, name, age, email, version, deleted, create_time, update_time
<==        Row: 1, xys444, 11, 95788@afe, 2, 0, 2021-10-05 01:06:16, 2021-10-05 19:49:41
<==        Row: 2, v, 22, dsrhdet@ef, 1, 0, 2021-10-01 01:06:22, 2021-10-01 16:45:51
<==        Row: 3, a, 12, xdfb@qw, 1, 0, 2021-10-04 00:06:37, 2021-10-04 13:46:21
<==      Total: 3
 Time27 ms - ID:com.xys.Mapper.mapper.selectBatchIds
Execute SQL:
    SELECT
        id,
        name,
        age,
        email,
        version,
        deleted,
        create_time,
        update_time 
    FROM
        user 
    WHERE
        id IN (
            1 , 2 , 3 
        ) 
        AND deleted=0

Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17e9bc9e]
user(id=1, name=xys444, age=11, email=95788@afe, version=2, deleted=0, createTime=Tue Oct 05 01:06:16 CST 2021, updateTime=Tue Oct 05 19:49:41 CST 2021)
user(id=2, name=v, age=22, email=dsrhdet@ef, version=1, deleted=0, createTime=Fri Oct 01 01:06:22 CST 2021, updateTime=Fri Oct 01 16:45:51 CST 2021)
user(id=3, name=a, age=12, email=xdfb@qw, version=1, deleted=0, createTime=Mon Oct 04 00:06:37 CST 2021, updateTime=Mon Oct 04 13:46:21 CST 2021)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝兰生于深谷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值