性能测试 —— Jmeter jdbc-mysql详细实例

1、下载驱动

没驱动会报错:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

选择驱动前,下载mysql-connector-java-5.1.7-bin.jar插件包

把插件包放置Jmeter\lib\ext文件夹下,重启Jmeter

MySQL数据库的JDBC驱动包下载地址:https://downloads.mysql.com/archives/c-j/

2、MySQL版本8 与 MySQ版本5.7 jar有差异吗?

现在企业中,一般都是MySQL 5 和MySQL 8,5的版本,一般都是5.7.x

MySQL 5版本,jar包可以选择大于等于你数据库版本的任意jar包

mysql: com.mysql.jdbc.Driver

MySQL 8版本,选择的jar包要大于等于你版本号,一般情况,选择版本号相同的

MySQL是手写:com.mysql.cj.jdbc.Driver

MySQL 8与MySQL 5的驱动Class不一样

3、JDBC Connection Configuration连接数据库

多个线程组共用一个数据库时,可以放setUp线程组中

图片

图片

JDBC Connection Configuration连接数据库,JDBC Request从变量里获取连接数据库的权限,然后对数据库进行操作。Variable Name for created pool 必填-通过这个变量进行关联JDBC Request, 自定义一个线程池变量名Database URL(数据库连接地址) 必填 
JDBC Driver class 必填-不同数据库需要的驱动不一样,因项目用的是MySQL数据库,所以JDBC Driver class选择驱动为:com.mysql.jdbc.Driver mysql8是手写:com.mysql.cj.jdbc.Driver
Username 必填Password 必填

4、JDBC Request

一定要与JDBC Connection Configuration中配置的连接池名称(Variable Name for created pool )要一致

提供的查询类型有8种,常用的3种:

Select statement -- 查询语句类型;如果JDBC Request中的Query内容为一条查询语句,则选择这种类型。PS:如果该类型下写入多条语句,只执行第一条select语句。
Update statement -- 更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。PS:如果该类型下写入多条update语句,依然只执行第一条。删除操作本质上是更新操作,insert操作本质是update操作
Callable statement:可调用语句类型,可以执行多条SQL语句。添加jdbc取样器,Query Type选Callable statement,添加多个语句 -- 注意,多条语句时,要用分号分隔语句!!!并且配置JDBC Connection configuration元件,只须在Database URL末尾加上?allowMultiQueries=true

Jmeter中,写SQL可以不写分号,要写多个sql就用多个jdbc request。默认不支持一个sql query中写多个sql

prepared select statement 、 prepared update statement带有 prepared开头,是脚本中,可以带有参数。

sql中带参数的写法:两种

直接在sql中,进行变量引用 ${var} 但是不推荐用 ? 变量占位符 ====推荐

图片

5、SQL查询多个字段,只取其中两个的写法,如下,数量对应,位置对应,其他用逗号占位

图片

6、在查询SQL语句中,查询结果是中文的时候Jmter无法显示

解决方法:

可以在 JDBC Connection Configuration 的 Database URL 我们填写的数据库信息后面添加一串:

?useUnicode=true&characterEncoding=utf8

7、分页

limit ${pagesize*pagenum+1},10--limit 10 OFFSET ${pagesize*pagenum}

方法1:

SELECT id FROM cb_account order by id limit 1,10;SELECT id FROM cb_account order by id limit 11,10;SELECT id FROM cb_account order by id limit 21,10;
SELECT id FROM cb_account order by id limit ${pagesize*pagenum+1},10

方法2:

SELECT id FROM cb_account order by id limit 10SELECT id FROM cb_account order by id limit 10 OFFSET 10SELECT id FROM cb_account order by id limit 10 OFFSET 20
SELECT id FROM cb_account order by id limit 10 OFFSET pagesize*pagenum

图片

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值