jmeter连接mysql数据库以及常规用法

1、在jmeter中新建一个测试计划,在测试计划界面中点击浏览,选择连接mysql数据库的jar包

如果没有jar包可以去网上下载,也可以通过如下链接进行下载

链接: https://pan.baidu.com/s/1BI6f19KSzXGlkSOwbnequw 提取码: gn8e

2、然后创建线程组,并且要知道所需要连接数据库的主机ip以及端口,用户名和密码等信息;点击测试计划右击-配置元件-JDBC Connection Configuration 组件,该组件通常加到线程组前面,该组件用于连接数据配置

3、配置JDBC Connection Configuration 组件,在该组件中输入字段信息

Variable Name for created pool:数据库的链接名,自己定义一个后面可以通过该名称引用,我这边输入为mysqlT

Max Number of Connections:最大用户链接数量,用于定义并发时最大的链接mysql的用户数,我还准备设置为10

Max Wait (ms):最大连接等待时间,我这边设置为10000

Time Between Eviction Runs (ms):运行间隔时间,我这边设置为60000

Auto Commit::自动提交,设置为True

Transaction lsolation:交易隔离,使用默认的,DEFAULT

Test While ldle:使用默认的值,True

Soft Min Evictable ldle Time(ms):使用默认值,5000

Validation Query:验证查询,选择select1,表示检查select语法

Database URL:数据库连接url,jdbc:mysql://localhost:3306/数据库名,如果数据库不在本机则需要将localhost换为mysql数据库所在的服务器的ip地址,3306是数据库的默认ip.如果有变化也要修改,数据库名则是需要查询表所在的数据库名称,我这边输入 jdbc:mysql://192.177.0.11:3306/test

JDBC Driver class:JDBC Driver类:选择或者直接输入com.mysql.jdbc.Driver

Username:数据库的登陆名,我这边为root

Password:数据库的密码,根据自己设置的进行填写。

注意:如果当编写的sql语句需要条件查询,且字段有中文时,需要在Database URL字段信息的后面再加一段编码设置,不然查询的时候返回的结果为空。查询不到数据

复制代码
?useUnicode=true&characterEncoding=utf8

jdbc:mysql://192.177.0.11:3306/test?useUnicode=true&characterEncoding=utf8

4、将JDBC Connection Configuration 组件所有字段信息输入完成后在线程组中添加JDBC Request组件,点击线程组右击-添加-取样器-JDBC Request,该组件用于编写sql语句,对连接的数据库进行查询

5、配置JDBC Request组件,如果只是简单的查询只需要输入以下字段即可

Variable Name of Pool declared in JDBC Connection Configuration:JDBC连接配置中声明的池变量名称,输入在JDBC Connection Configuration 组件中定义的链接名称,当时名称为mysqlT,这里也输入同样的。

Query Type:查询类型,sql语句类型,我这边写的是查询,就选择Select Statement

sql语句编辑框:编辑框中输入查询sql,select * from lr_user lr_user为需要查询的表名

Parameter types:参数类型,这个要看连接数据库中字段的类型,我这边一共两个字段,都是varchar类型,因为输入varchar,varchar 用英文逗号隔开。必填,且与参数值个数要一致

6、JDBC Request组件配置完成后,点击添加结果数,点击运行,可以在结果树中查看到查询到的数据

在结果树可以看到查询结果,就表示连接mysql数据成功了,下面就进行连接后一些常规用法的介绍。

7、如果对mysql数据库有其他更多的操作就需要了解JDBC Request组件其它字段的使用。例如当需要进行预编译查询时,即需要编写条件查询时,需要对字段做如下修改:

Query Type:查询类型需要选择 Prepared Select Statement

**sql语句编辑框:**中输入 select * from lr_user where yhm=? and mm=? ?代表查询字段信息,该信息需要在Parameter values字段中进行填写

**Parameter values:**参数值,如果进行条件查询,在sql语句编辑框中有几个参数则就需要填写几个,通过英文逗号隔开,如图我这边将yhm和mm设置为查询条件,则就需要输入

亳州工业学校,123456 该两个参数将会被查询语句中的?进行调用。

**Parameter types:**有几个参数值,则就需要填写几个该参数值的类型,我这边都是varchar,所以就填写varchar,varchar 中间用英文逗号隔开

运行后结果树的查询返回如下图所示

8、当如果想要获取查询结果中的每一行的数据则可以通过调用参数变量的方式进行设置,继续设置JDBC Request组件字段,进行如下设置

Variable names:该字段为查询到的数据赋予变量。我这边查询到有三个字段,因此需要赋予三个变量值,后面可通过${}进行引用。

9、在JDBC Request后面添加一个BeanShell 取样器;线程组右击-添加-取样器-BeanShell 取样器

10、配置BeanShell 取样器,通过{yhm}{mm}${bz}来调用查询的字段进行输出

yhm、mm、bz,通过JDBC Request组件Variable names字段进行设置的。

{yhm_1} 代表查询到数据的第一行,{yhm_2} 代表查询到数据的第二行

复制代码
${yhm_1} 代表查询到数据的第一行,${yhm_2} 代表查询到数据的第二行
"${yhm_1}\t${mm_1}\t${bz_1}\n${yhm_2}\t${mm_2}\t${bz_2}"

运行后的响应结果如下

11、步骤10是通过将结果存放在变量中并引用变量进行输出,也可以将结果存放到结果集中,通过调用结果集进行输出。JDBC Request组件字段配置如下

保持其它字段信息不变,输入Result variable name:字段信息

**Result variable name:**结果集名称,后续可通过调用结果集进行输出,我这边设置为rs

12、在配置BeanShell 取样器中进行配置,将结果集中的数据进行输出

在代码编辑区域中输入 vars.getObject("rs").get(0).get("yhm");

vars.getObject("rs") 表示获取rs结果集, rs是在JDBC Request组件Result variable name字段中配置的结果集名称。

.get(0):是指提取rs结果集中第一行

.get(0).get("yhm"):是指提取rs结果集中第一行中变量为yhm的数据。

查看运行结果,获取查询结果中的第一行中变量为bz的数据,

至此,jmeter中连接mysql数据以及常规用法就配置完成了。

相关推荐
‎ദ്ദിᵔ.˛.ᵔ₎几秒前
MySQL 数据类型
数据库·mysql
这个DBA有点耶9 分钟前
索引合并不是万能药:MySQL同时用两个索引,为什么比不用还慢?
数据库·mysql·dba
Aime_Perfect1 小时前
sqlserver AlwaysOn(一)
数据库·sqlserver
HAYDENR1 小时前
毛利率波动大可能是什么原因?毛利率变动怎么判断是否合理?
数据库
大牧师1 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
Elastic 中国社区官方博客1 小时前
如何通过一条 ES|QL 查询为 Elasticsearch 中的每个指标构建指标图表
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·kibana
数据库小学妹2 小时前
MySQL redo刷盘实测:innodb_flush_log_at_trx_commit与故障矩阵
运维·数据库·mysql
知码研习2 小时前
Windows MySQL8.0.44 保姆级超详细安装配置教程(含 ZIP 免安装、MSI 图形安装、完整卸载流程)
mysql
ByteRock2 小时前
ClickHouse 表的生老“并”死:表实例、表元数据与并发 DDL
数据库
哈__2 小时前
破除数据库排障碎片化:一体化全链路故障根因诊断实践
数据库