项目技术点-MybatisPlus 性能分析插件 | 学习笔记

简介: 快速学习 项目技术点-MybatisPlus 性能分析插件

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)项目技术点-MybatisPlus 性能分析插件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11276


项目技术点-MybatisPlus 性能分析插件


性能分析

简介:

性能分析拦截器,用于输出每条 SQL 语句及其执行时间

SQL 性能执行分析,开发环境使用,超过指定时间,停止运行。有助于发现问题

1、配置插件

(1)参数说明

参数:maxTime:SQL 执行最大时长,超过自动停止运行,有助于发现问题。

参数:format:SQL 是否格式化,默认 false。

(2)在 MybatisPlusConfig 中配置

/**

*SQL 执行性能分析插件

*开发环境使用,线上不推荐。maxTime 指的是 sql 最大执行时长

@Bean

@Profile({"dev","test"})//设置 devtest 环境开启

public PerformanceInterceptor performanceInterceptor() {

PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor ();

performanceInterceptor.setMaxTime(100);//ms,超过此处设置的 ms 则 sq1不执行

performanceInterceptor.setFormat(true);

return performanceInterceptor ;

运行代码

/**

* SQL 执行性能分析插件

*开发环境使用,线上不推荐。maxTime 指的是 sq1最大执行时长

*三种环境

*dev:开发环境

*test:测试环境

*prod:生产环境

@Bean

@Profile({"dev","test"})//设置devtest环境开启

public PerformanceInterceptor performanceInterceptor() {

PerformanceInterceptor performanceInterceptor=new PerformanceInterceptor();

performanceInterceptor.setMaxTime(100)://ms,超过此处设置的ms则sq1不执行

performanceInterceptor.setFormat (true);

return performance Interceptor;

(3) Spring Boot 中设置 dev 环境

#环境设置:dev、test、prod2

spring.profiles.active-dev

可以针对各环境新建不同的配置文件 application-dev.properties. application- test.properties、application-prod.properties 也可以自定义环境名称:如 test1、test2

2、测试

(1) 常规测试

/**

*测试性能分析插件

@Test

public void testPerformance()

User user = new User();

user.setName("HEHelen" );

user.setEmail("helen@sina.co");

user.setAge(18);

userMapper.insert(user);

(2)将 maxTime 改小之后再次进行测试

performanceInterceptor.setMaxTime(5);//ms,超过此处设置的 ms 不执行

如果执行时间过长,则抛出

常: The SQL execution time is too large,

输出:org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException:Errorupdatingdatabase.Cause:com.baomidou.mybatisplus.core.exceptions.MybatisPlusException:TheSQLexecution time is toolarge,please optimize

相关文章
|
2月前
|
SQL Java 数据库连接
Java系列技术之Mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集,它可以使用简单的XML或注解来配置和映射SQL信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
43 0
|
2月前
|
Java 数据库连接 Maven
使用mybatis插件generator生成实体类,dao层和mapper映射
使用mybatis插件generator生成实体类,dao层和mapper映射
50 0
|
3月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
3月前
|
SQL Java 数据库连接
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
90 0
JAVAEE框架技术之7-myBatis ORM框架入门基础CRUD
|
18天前
|
SQL Java 数据库连接
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
【mybatis】第一篇,Springboot中使用插件PageHelper不生效解决方案
|
2天前
|
SQL XML Java
Mybatis-Plus插件扩展MybatisX
Mybatis-Plus插件扩展MybatisX
12 0
|
1月前
|
SQL Java 关系型数据库
MyBatisPlus学习笔记(SpringBoot版)
MyBatisPlus学习笔记(SpringBoot版)
99 0
|
2月前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
|
3月前
|
Java 数据库连接 数据库
JAVAEE框架技术之10-myBatis注解式开发
JAVAEE框架技术之10-myBatis注解式开发
55 0
JAVAEE框架技术之10-myBatis注解式开发
|
3月前
|
SQL Java 数据库连接
JAVAEE框架技术之9-myBatis高级查询技术文档
JAVAEE框架技术之9-myBatis高级查询技术文档
81 0
JAVAEE框架技术之9-myBatis高级查询技术文档