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

相关推荐

  • p图软件电脑版哪个好(手机最专业的p图软件推荐)

    第一个,Chrome浏览器。速度快,无广告!悄悄告诉你,还可以打开有的网站不能打开的网址哦! 第二个,火绒安全,杀毒软件最好的。无广告,免费,而且无捆绑小软件。各大企业,公司都在使用。 第三个,oCam。电脑录屏最好的。而且免费,无广告!界面简洁。操作简单易上手。录制的视频直接可以导入任何剪辑视频软件里。这绝对是剪辑视频的好帮手! 第四个,7-zip。体积小不占空间,仅有几M。别看它小。支持全部压…

    2022年5月13日
    820
  • 任正非创业经历及创业精神,带你了解华为艰苦成长史

    今天,提起任正非,相信没有几个国人会不知道。他和他带领的华为,俨然是中国民族企业的标杆和学习榜样!可以说,任正非就是改革开放至今中国经济崛起的商界教父级人物。 简单看几个里程碑事件: 1988年,任正非以21000元创办了一家小的不能再小的公司,这家公司只有6个员工。 2007年,华为凭借着125.6亿美元的收入,超过北电,一举成为全球第五大电信设备经销商。 2011年,任正非以11亿美元的身价首…

    2022年7月10日
    2700
  • 雄牛资本在京东股权(从投资京东来看整个零售业的变迁)

    「雄牛资本基于家电零售10年的经验才敢投资我们,在那个年代所有的投资机构都不敢投,雄牛资本投我们1200万,然后第一轮投资人(今日资本)跟了800万美元,还有一个(「红筹之父」梁伯韬)投了100万,所以我们第二轮拿了2100万(美元),也就是得以扩大了,要不然我就死了。」 京东(JD.US)于NASDAQ上巿时,刘强东曾在采访里谈到京东的融资过程。2007年8月京东进行A轮投资,由今日资本以100…

    2022年10月19日
    3130
  • 华为荣耀畅玩8x怎么隐藏应用,荣耀畅玩8x价格及参数配置

    什么样的手机才更适合年轻人,更受到敢不同的年轻人喜欢?这个课题是国产手机品牌这几年所探究的一大方向。 深耕青年市场的荣耀给出了自己的答案,最新发布的荣耀8X,在继承荣耀X系列高性价比的定位上,去掉了“畅玩”。究竟荣耀8X有何提升,我们今天一起来看看。 设计:有着和旗舰机一样的美学 在去掉“畅玩”名称后,荣耀8X系列也终于走出了中端机定位,向着更高端的领域继续进发,荣耀8X采用了6.5英寸的窄边框全…

    2022年6月23日
    680
  • 怎么谈薪资待遇(分享hr谈工资一般套路)

    今天有网友向我咨询,面试的时候HR说公司是16薪,可是干了一年到手才不到14个月,为什么会这样? 城里套路深我要回农村,农村路更滑,人心很复杂。 很多时候被企业忽悠瘸了还不知道自己是怎么被套路的,你说是不是气死人?! 1、究竟是谁决定了你的薪酬?! 很多人可能不知道,面试你的HR和决定你薪酬的HR大多数时候根本不是一个人!你以为面试中面试官穿的人模狗样的跟你谈薪酬就作数了,其实他可能根本无权决定你…

    2022年10月16日
    6780
  • 现在vivo手机什么系列好(vivo性能最好的手机排行榜)

    一直以来vivo手机都受到广大用户的喜爱,只是以前它专注线下市场,因此性价比一般就没有太高的口碑,不过现在已经改善很多,还推出线上子品牌iQOO,获得众多用户的认可,那现在vivo手机应该怎么选呢,下面这三款机型几乎无短板,性价比高颜值出众,大家可以考虑一下。 第一款:iQOONeo5 爱酷手机玩游戏很爽这是公认的事实,现在骁龙870体验比骁龙888还要好,搭载该芯片的iQOONeo5就很值得了,…

    2022年5月11日
    1020
  • 2020农村创业好项目,8个比较靠谱的生意推荐!

    在这个充满的机遇的时代里,很多人都选择了自主创业,尤其是越来越多的年轻人也开始加入到创业的大军中! 但是对于年轻人来说由于阅历有限,面对市场上数不胜数的创业项目,年轻人该如何选择呢?下面A5创业网就为大家整理了当下最新、最赚钱、适合年轻创业者朋友创业项目! 1、抖音创业 抖音,相信大家都很熟悉吧,特别是对于现在的年轻人来说,十个人里有九个人都玩抖音!可以说抖音是当下最火的短视频社交平台,很多素人通…

    2022年6月2日
    740
  • 产品计划书怎么写,产品营销策划案例分析

    不同于NeXT,“产品”本身就是一件稀缺品。 什么意思呢?现实里,很多产品经理的作品可能都还没有服务过真实用户。剩下的小部分人,也许有可能做出不错的产品,但更现实的难题是如何在组织体系内获得资源,得到资源启动新产品。 比起领导的什么左勾拳、右勾饼,把方案批的一文不值,零回复才是最强KO好吗? 这些“天使投资人”(管理层/资源方/协同方),冷峻的外表下,仿似用腹语低吟浅唱:“我不是你的天使,我不懂你…

    2022年5月30日
    650
  • 市场营销部门有哪些职位(市场营销部组织结构图)

    市场营销各职能部门岗位设置 1.市场部岗位设置 2.销售部岗位设置 3.企划部岗位设置 4.促销部岗位设置 5.客服部岗位设置 6.广告部岗位设置 7.品牌部岗位设置 8.大客户部岗位设置 感谢关注和分享

    2022年10月23日
    520
  • ios恢复微信聊天记录软件有哪些,iPhone微信记录恢复教程

    iOS微信聊天记录怎么恢复?说到这个,有一天我正在微信上和领导正在汇报工作,突然手滑就删除了和领导的对话框,刚好领导交代新任务还没仔细看!没错,微信不像QQ,删除了对话框对话还在,虽然N多人吐槽这个设计,但是微信就是不改!这时候,让小编来拯救你吧!不同情况用不同方法,微信是可以找回聊天记录的,但是也仅仅支持iOS系统哦~ 情景一:微信异常导致聊天记录混乱、通讯录丢失 小妙招:recover修复 1…

    2022年6月7日
    2220

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信