在MybatisPlusConfig 加入sql性能分析插件
一、 mybatis-plus自带的性能分析
/**
- SQL执行效率插件 性能分析插件
*/
@Bean
@Profile({“dev”,“test”})// 设置 dev test 环境开启
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
performanceInterceptor.setFormat(true);//格式化语句
//performanceInterceptor.setMaxTime(5);//执行时间超过多少秒会抛出异常
return performanceInterceptor;
}
执行sql打印
/**
-
插入一行user
-
执行时间50毫秒
-
Time:50 ms - ID:com.hlvy.mybatis_plus.mapper.UserMapper.selectById
-
Execute SQL:SELECT id,name,age,email,manager_id,created_time,update_time,version FROM User WHERE id=5 AND deleted=0
*/
@Test
public void insertUser() {
System.out.println((“----- insertUser method test ------”));
User user = new User();
user.setName(“恒果果”);
user.setAge(19);
user.setEmail(“xxx@qq.com”);
int row = userMapper.insert(user);
System.out.println(“插入成功”+row+“行”);
}
二、p6spy性能分析插件 该功能依赖 p6spy
组件,完美的输出打印 SQL 及执行时长 3.1.0
以上版本
- p6spy 依赖引入
Maven:
p6spy
p6spy
3.8.2
application.yml 配置修改
#sql分析插件需要切换url及驱动具体看mybatis-plus官网
url: jdbc:p6spy:mysql://127.0.0.1:3306/mytest?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
server:
port: 9091
spring:
datasource:
#url: jdbc:mysql://127.0.0.1:3306/mytest?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT
#sql分析插件需要切换url及驱动具体看mybatis-plus官网
url: jdbc:p6spy:mysql://127.0.0.1:3306/mytest?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
mybatis-plus:
#MyBaits 别名包扫描路径,通过该属性可以给包中的类注册别名,注册后在 Mapper 对应的 XML 文件中可以直接使用类名,而不用使用全限定的类名(即 XML 中调用的时候不用包含包名)。
type-aliases-package: com.hlvy.mybatis_plus.entity
#该配置请和 typeAliasesPackage 一起使用,如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
type-aliases-super-type: java.lang.Object
#MyBatis Mapper 所对应的 XML 文件位置,如果您在 Mapper 中有自定义方法(XML 中有自定义实现),需要进行该配置,告诉 Mapper 所对应的 XML 文件位置。
mapper-locations: classpath*:mybatis/*.xml
#MyBatis 配置文件位置,如果您有单独的 MyBatis 配置,请将其路径配置到 configLocation 中。
#config-location: classpath:mybatis-config.xml
#启动时是否检查 MyBatis XML 文件的存在,默认不检查
check-config-location: false
global-config:
db-config: #配置逻辑删除
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
#id-type: none #全局策略
#field-strategy: ignored #所有字段加入crud语句中 一般不这么设置 默认not_null
#table-prefix: t_ #表的前缀
#table-underline: true #表名是否使用下划线
#configuration:#不能与config-location同时出现
#map-underscore-to-camel-case: true
#设置日志 级别
logging:
level:
root: warn
com.hlvy.mybatis_plus: trace
pattern:
console: ‘%P%m%n’
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!