jmeter ——JDBC Request中从数据库中读两个字段给接口取值

时间:2023-03-09 22:23:09
jmeter ——JDBC Request中从数据库中读两个字段给接口取值

前置条件数据库:

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

给接口传:tid和shopid这俩字段

直接从JDBC Request开始:

Variable name:这里写入数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )

Query:里面填入查询数据库数据的SQL语句(填写的SQL语句末尾不要加“;”)

parameter valus:数据的参数值

parameter types:数据的参数类型

cariable names:保存SQL语句返回结果的变量名

result cariable name:创建一个对象变量,保存所有返回结果

query timeout:查询超时时间

handle result set:定义如何处理由callable statements语句返回的结果

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

parameter valus:数据的参数值

parameter types:数据的参数类型

上面这俩先不管

cariable names:保存SQL语句返回结果的变量名,简单的说就是你查询出来的字段,你要用那些就写那些,如我要用这来子段tid, shopId

返回的形式如下,数据库里有多少个就返回多少个:

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

result cariable name:创建一个对象变量,保存所有返回结果,我看返回会给保存成一个jison格式的

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

我使用的是cariable names:循环读取

1.先建立一个循环控制器

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

${tid_#}:代表一共有多少行

2.建立有个计数器记录循环多少次了

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

其中:N就相当于代替${tid_#}所对应当时的计数

3.建立请求

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

其中传的参数通过函数助手获取嵌套函数生成${__V(tid_${N},)},${__V(shopId_${N},)}如下:

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

至此成功

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

如果数据库中出现这种空值:

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

那么请求数据会拿不到参数显示成这样:

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

这是正常的不要慌,能取到值的地方就显示对了

jmeter ——JDBC Request中从数据库中读两个字段给接口取值

详情可参考:1.传送门   2.传送门