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数据以及常规用法就配置完成了。

相关推荐
2402_854808372 分钟前
如何用 stopPropagation 阻止事件冒泡防止触发父级回调
jvm·数据库·python
2301_782659184 分钟前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
2301_814809867 分钟前
PHP源码开发用二手硬件划算吗_性价比与稳定性权衡【操作】
jvm·数据库·python
2301_782659189 分钟前
C#怎么操作PostgreSQL数据库 C#如何用Npgsql连接和操作PostgreSQL进行数据读写【数据库】
jvm·数据库·python
2401_8971905511 分钟前
CSS如何处理层级混乱问题_利用z-index与Stacking Context原理
jvm·数据库·python
m0_7488394912 分钟前
Golang怎么实现配置校验_Golang如何在启动时检查必填配置项是否缺失【技巧】
jvm·数据库·python
晴天¥18 分钟前
达梦数据库dexp 和 dimp 应用实例
数据库·达梦数据库
214396522 分钟前
网页如何运行html
jvm·数据库·python
Flying pigs~~26 分钟前
从零到一构建企业级 RAG 问答系统:一个完整的模块化实践指南
数据库·人工智能·缓存·大模型·milvus·知识库·rag
梦想与想象-广州大智汇30 分钟前
告别“内存刺客”!sync-canal-go:轻量mysql实时同步数据到Elasticsearch‌,clickhouse,redis
mysql·elasticsearch·golang·同步数据