MyBatis-Plus提供了内置的分析SQL执行时间的插件,我们只需要进行配置即可使用:

    1. @Configuration
    2. public class MyBatisPlusConfig {
    3. /**
    4. * Profile注解用于设置 dev test 环境开启,保证我们的效率
    5. *
    6. * @return new PerformanceInterceptor()
    7. */
    8. @Bean
    9. @Profile({"dev", "test"})
    10. public PerformanceInterceptor performanceInterceptor() {
    11. PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
    12. // 设置sql执行的最大时间(单位是ms),如果超过了则不执行
    13. performanceInterceptor.setMaxTime(100);
    14. // 是否格式化日志的sql
    15. performanceInterceptor.setFormat(true);
    16. return performanceInterceptor;
    17. }
    18. }

    配置环境为dev或test环境:

    1. spring:
    2. #配置为dev环境
    3. profiles:
    4. active: dev

    使用效果:
    image.png
    如果SQL执行时间超过了设置的最大值,就会抛出异常:
    image.png