mybatis插件原理(web前端三大主流框架)

一、引言 在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,便于程序员排忧解难呐。 MP提供了两种方式,用于输出每条SQL语句及其执行时间,针对执行较长时间的SQL可以停止运行,有助于发现问题。 这两种方式只适用于开发环境,不建议生产环境使用。 二、性能分析插件 该插件3.2.0以上版本移除,推荐使用第二种方式(执行SQL分析打印)方式。 步骤一:在MP配置类中配置该插件,并且只适用…

一、引言

在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,便于程序员排忧解难呐。

MP提供了两种方式,用于输出每条SQL语句及其执行时间,针对执行较长时间的SQL可以停止运行,有助于发现问题。

这两种方式只适用于开发环境,不建议生产环境使用。

二、性能分析插件

该插件 3.2.0 以上版本移除,推荐使用第二种方式(执行SQL分析打印)方式。

步骤一:在MP配置类中配置该插件,并且只适用于DEV环境

/**
 * @Description: MybatisPlus配置类
 */
@Configuration
public class MyBatisPlusConfig {
 
 
    /**
     * SQL执行效率插件
     *
     * @return
     */
    @Bean
    @Profile({\"dev\"}) // 指定环境为dev生效
    public PerformanceInterceptor performanceInterceptor() {
        PerformanceInterceptor interceptor = new PerformanceInterceptor();
        // sql美化打印
        interceptor.setFormat(true);
        // 设置SQL超时时间
        interceptor.setMaxTime(5000L);
        return interceptor;
    }
}

步骤二:设置环境为dev,可以在yml如下配置,或者直接测试类中也是可以设置的,如图。

spring:
  profiles:
    active: dev
MyBatisPlus高级功能——SQL性能分析打印插件

步骤三:测试测试,在控制台中打印selectList这个方法执行了32 ms,同时也打印了最后执行的sql语句。

 @Test
    public void select(){
        List<User> users = userMapper.selectList(Wrappers.<User>lambdaQuery().eq(User::getAge, 18));
        users.forEach(System.out::println);
    }
DEBUG==>  Preparing: SELECT id,login_name,name,password,email,salt,sex,age,phone,user_type,status,organization_id,create_time,update_time,version FROM sys_user WHERE is_delete=\'0\' AND age = ? 
DEBUG==> Parameters: 18(Integer)
DEBUG<==      Total: 0
 Time:35 ms - ID:com.example.demo.mapper.UserMapper.selectList
Execute SQL:
    SELECT
        id,
        login_name,
        name,
        password,
        email,
        salt,
        sex,
        age,
        phone,
        user_type,
        status,
        organization_id,
        create_time,
        update_time,
        version 
    FROM
        sys_user 
    WHERE
        is_delete=\'0\' 
        AND age = 18

三、执行SQL分析打印

这个功能依赖p6spy组件,完美的输出打印SQL以及执行时长,支持MP3.1.0以上版本。

步骤一:引入p6spy的maven依赖

<!--sql 分析打印-->
<dependency>
    <groupId>p6spy</groupId>
    <artifactId>p6spy</artifactId>
    <version>3.8.2</version>
</dependency>

步骤二:更改yml连接数据库配置,主要修改driver-class-name、url中jdbc后需要加上p6spy

spring:
  datasource:
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver
    url: jdbc:p6spy:mysql://127.0.0.1:3360/test?userSSL=false
    username: root
    password: 123456
  profiles:
    active: dev

步骤三:新增spy.properties文件,内容如下,可以根据需求相对应的修改文件。

module.log=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
 
 
#日志输出到控制台,解开注释就行了
# appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
 
# 指定输出文件位置
logfile=sql.log
 
# 使用日志系统记录 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,batch,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2

步骤四:输出文件格式内容如下

 Consume Time:15 ms 2019-09-20 11:50:31
 Execute SQL:SELECT id,login_name,name,password,email,salt,sex,age,phone,user_type,status,organization_id,create_time,update_time,version FROM sys_user WHERE is_delete=\'0\' AND age = 18

作者:IT贱男

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月9日 下午7:01
下一篇 2022年5月9日 下午7:03

相关推荐

  • 微信闪退怎么办,微信常见闪退原因及解决方法

    在使用微信的时候,不知道你有没有遇到过经常闪退的情况?在出现这个情况之前有时候会没有办法用微信正常聊天,比如聊天记录不更新,对方发送的消息接收不到,发送图片等文件失败等等。 出现这样的情况大多数用户都会束手无措,除了将微信卸载重装并无它法。但是如果要卸载微信,就意味着微信中的聊天记录等重要数据信息就会完全丢失! 对于一些微信中有重要数据的用户来说,这简直就是灾难。那么到底是什么原因导致微信无法正常…

    2022年6月25日
    1.6K0
  • au软件哪个版本好用(手机版au音频软件推荐)

    AdobeAudition2021forMac是Adobe公司出品的一款专业数字音频编辑软件,提供先进的音频混音、编辑和效果处理功能,专为音频和视频专业人员设计。新版Audition2021增加降噪和减少混响效果,多轨剪辑改进,添加或删除空轨道,回放和录音改进以及第三方效果迁移,功能更加强大好用。 PS:此次Au2021mac的版本是中文直装版,一键安装即可永久使用,需要安装包的伙伴们可以去微信公…

    2022年5月13日
    900
  • 微信文件删除了怎么恢复,找回微信删除文件方法步骤

    我们在聊天的时候,经常会有一些重要的文件误删的情况,还需要别人再发一遍给我们,非常的不方便,其实微信上是有这个聊天记录的迁移和恢复的功能的。只是大家平时可能不注意,今天一起来看看吧,觉得有用的话就收藏起来,以备不时之需。 1,第一步,需要手机和电脑连接同一个WiFi,然后点击电脑版微信左下角的三条横杠,点击第二行的“备份与恢复”的按钮,进入到备份恢复页面。 2,进入后,先点击左边的“备份聊天记录至…

    2022年7月14日
    650
  • 销售渠道有哪些,销售渠道有三种类型介绍

    什么是渠道? 渠道就是人,与你合作的人,一起挣钱的人,你的合作伙伴。 渠道思维不仅是让别人帮你卖,还有让他帮你买。 有时候,渠道既是分销商,还可以是客户,比如安利的业务员。 所有的人都可以成为你的渠道,所有有流量的地方都可以成为你的渠道,所有能吸引注意力的地方都可以成为你的渠道。 渠道有什么作用? 渠道有五大作用,分别是分销、品牌、物流、仓储和回款。 分销:渠道是要卖货的,否则很难真正持续合作下去…

    2022年7月4日
    690
  • 创业需要具备哪些条件,2个真实创业故事分享

    什么样的人才适合创业?我们可以从如今已经成功的创业者身上去寻找一些共性。 分众的江南春、盛大的陈天桥、网易的丁磊、百度的李彦宏、大名鼎鼎的盖茨、乔布斯、佩奇等都具备一些共同的成就其事业的特点。 首先他们充满激情但又非常理性,他们不是单纯地享受创业过程,他们更是为了一个好的结果。他们做的都是自己最爱的事情,所以能够全力以赴,每天工作量极大却不知疲倦。他们是自己产品和服务的最好的质检员和改进者,关注的…

    2022年6月11日
    700
  • 怎么把手机通讯录导入另一个手机,具体操作方法请看本篇

    怎样把通讯录导入新手机?苹果手机的热议一直不断,特别是iPhone 11即将上市,关于它的曝光新闻一直也没停过,你有考虑过换一台iPhone 11犒劳一下自己吗?先别急!在换机之前先学习下数据转移才是比较稳的操作,特别是通讯录,那么多联系人、电话号码,想知道如何快速导入新手机吗?一起来学习下为自己换新机做个准备吧。 方法一:通过iCloud备份数据同步通讯录 iCloud作为苹果的特色服务之一,想…

    2022年6月9日
    980
  • seo优化工作好做吗,seo优化人员的主要工作内容介绍

    被人过度的灌输SEO有多好,有多牛逼,前景有多高,包括知乎上面所谓的大佬! 说seo多好的,不外乎就是一些搞seo培训的,还有就是被做培训洗脑的人, seo只是一种手段,把他作为一个职业,你会混的很惨,当然,也有“大佬”,这些人看似非常牛逼且和seo看似相关,但他们的盈利点绝不是你理解的seo。 很多人做seo鄙视sem,sem鄙视seo的,其实没有谁鄙视谁,这两者都是手段,如果非要作为职业,se…

    2022年8月11日
    530
  • 酒店营销如何突破,酒店营销的6种手段

    李老板买下了市区的酒店,很是兴奋,60多个房间的气派酒店,虽上不了三星级也算是准三星的,原来的老板装修经营一年多,268万转让给李老板。李老板在购买前经过了实地考察,地方清静,空气好,生意好做,旅游团入住爆满。 可是,接手不久,李老板傻眼了,这么大的酒店,每天散客才十间都不够,旅游团也不再来了,原老板是为了人气,迷惑真相亏本带团来的,根据前台服务员介绍说,酒店离繁华地区远,偏僻,客人不愿来,酒店周…

    2022年6月28日
    530
  • 远程控制连接软件有哪些(最好的手机远程控制app)

    TeamViewer远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。 优点:针对个人用户完全免费,功能完善,远程控制稳定且速度快、画质清晰,安全性高。 缺点:账号登录有时候需要多次才能成功,远程控制时,需要先添加信任设备,才能使用。 TeamViewer软件主界面 ToDesk是一款免费安全不限速的远程…

    2022年5月11日
    1510
  • 微商做什么最赚钱,微商暴力畅销产品

    微商作为移动互联网时代一种新兴的经济生态,曾经让很多人看不起,但是随着体系的不断完善,更多的人开始正视微商,这也让不少人赚到了钱,那么,怎么做微商最赚钱? 总结有有这几个方法: 第一,尽量避免在你的亲戚朋友圈推销产品。销售界的大佬曾经说过:你正在创业,你会发觉,一开始相信你的是陌生人,一开始激励你的是合作伙伴,最瞧不起你的是身边的人,最不相信你的是你家人,打击你最重的是你最亲密的人。尽管说得有点儿…

    2022年9月2日
    410

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信