主要观点总结
文章介绍了mybatis-sql-viewer插件的功能及使用方式,包括SQL语句的编写、测试、规约检查、压测等功能。
关键观点总结
关键观点1: mybatis-sql-viewer插件的主要功能
该插件提供了一系列功能,包括SQL语句的语法校验、mock数据生成、SQL规范检查、SQL索引检查、SQL执行和压测,以及Mybatis SQL语句扫描等,能够帮助开发者提高CRUD效率和SQL质量。
关键观点2: 安装和使用mybatis-sql-viewer插件
插件可以在IDEA中安装,安装完成后需要进行数据源配置。使用插件时,可以选择mybatis模式或非mybatis模式,根据需求进行SQL语句的编写、测试、规约检查等操作。
关键观点3: SQL语句的规约检查和压测功能
插件可以对SQL语句进行规约检查,确保语句符合规范。同时,还可以进行SQL压测,测试语句的性能,帮助开发者了解语句在实际环境中的表现。
关键观点4: 数据mock功能
插件支持数据mock功能,可以生成模拟数据,用于测试SQL语句。同时,还可以进行大批量数据mock,模拟实际生产环境的数据情况。
关键观点5: 插件的配置和自定义词库功能
插件的配置包括SQL语句的配置、mock数据的配置等。同时,还支持自定义词库功能,可以根据需求创建词库,用于生成模拟数据。
正文
mybatis sql扫描
支持文件和项目两个维度扫描。
点击或者namespace对应的mapper接口旁边的「sql」图标即可完成文件维度mybatis sql的扫描
文件维度扫描
点击「mybatis sql scan」即可进行项目维度mybatis sql的扫描
项目维度扫描
扫描结果左侧是mybatis文件的namespace(对于mapper接口名)及其下的方法名,点击具体的方法,右侧产生其对应的SQL语句,并会对该SQL语句进行规约检查、索引检查并输出此SQL语句的的执行计划
-
-
-
compliance with spec:符合SQL规约要求的SQL语句
-
does not meet spec:不符合SQL规约的要求的SQL语句
-
full table scan:存在全表扫描的SQL语句
-
error:存在错误的SQL语句,可能是SQL编写错误,参数错误,数据库连接错误等
SQL语句
语法校验&规约检查
对于「非mybatis模式」需要左栏编写SQL语句,「mybatis」模式则需要在mapper接口或XML文件中点击「sql」图标生成SQL,右栏自动进行语法校验和规规约校验
1. SQL语法校验
statement效果之语法校验
2. 规约校验
statement效果之规约检查
SQL执行
点击「result」tab后会自动执行「statement」Tab中的SQL语句。执行结果由3部分组成:执行信息、执行计划及执行结果。
-
执行信息包含:执行的语句、执行该条语句的耗时、返回的记录数及表中记录总数
-
-
执行结果:结果表格,默认只返回100条记录(只有SELECT语句有该信息)
result效果
SQL压测
点击「stress」Tab进行压测配置,配置页面如下:
stress配置
-
-
use sql directly:表示直接使用「statement」Tab中的SQL语句进行压测
-
configure parameters:表示对「statement」Tab中的SQL语句的条件进行参数配置。
-
-
increase in a constant rate:并发数按照固定速率增长,增长速率由「递增时长」指定
-
fixed concurrent number:直接按照指定并发数进行压测
-
-
-
压测时长:指定压测时间,单位为分钟,因为压测的指标数据直接存在内存中,应该避免压测时间过长造成Idea OOM
配置完成后,点击「stress」按钮即可进行压测,并自动跳转到压测报告「report」Tab
压测报告中主要包含指标:
图表包含: