Jmeter中JDBC链接配置 JDBC Request

1.配置好数据库连接JDBC Connection Configuration之后,添加JDBC Request。

Jmeter中JDBC链接配置 JDBC Request

【参数说明】

  ariable Name: 数据库连接池的名字,需要与上面配置的JDBC Connection Configuration中Variable Name Bound Pool的Variable Name相同

  Query:填写的sql语句未尾不要加“;”

  Parameter valus:参数值

  Parameter types:参数类型,可参考:Javadoc for java.sql.Types

  Variable names:保存sql语句返回结果的变量名

  Result variable name:创建一个对象变量,保存所有返回的结果

  Query timeout:查询超时时间

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

2、设置http请求的参数,若JDBC Request中Variable name设置了多个参数,如A,B,C,那么HTTP中参数的设置就是${参数AorBorC_N},及表示参数AorBorC列的第N行数据值,如下图: 

Jmeter中JDBC链接配置 JDBC Request

3、运行脚本,查看运行结果,如下图:

Jmeter中JDBC链接配置 JDBC Request

【说明】

  JDBC Request中Variables name:

  variables names设置为A,B,C那么如下变量会被设置为:

    A_#=2 (总行数)

    A_1=第1列, 第1行

    A_2=第1列, 第2行

    C_#=2 (总行数)

    C_1=第3列, 第1行

    C_2=第3列, 第2行

  可以使用${A_#}、${A_1}...来获取相应的值

4、 添加循环控制器,设置循环次数为总行数,如下图:

Jmeter中JDBC链接配置 JDBC Request

 

循环次数填写 结果参数 ${u_#}    u_#是查询数据的总数  ${} 变量可调用

u_1  第一列第一行       user 列

p_1 第二列第一行       password 列

5、因为我们取的值是根据${Code_N}来取的,那么这个N可以通过计数器递增的方式获得,我们需要添加一个计数器,如下图:

Jmeter中JDBC链接配置 JDBC Request

因为要获取两个值 code和password,所以在循环控制器下添加2个计数器,递增获取数据u_1,u_2 ,....u_999

Jmeter中JDBC链接配置 JDBC RequestJmeter中JDBC链接配置 JDBC Request

参数用 函数助手 _V参数化

u_${us}     ${us}计数器参数

6、 使用函数助手,获取嵌套函数,如下图:

Jmeter中JDBC链接配置 JDBC Request

【说明】

  ${A1}:能正常工作。

  ${A${N}}:无法正常工作(嵌套变量引用)。

  ${__V(A${N})}:可以正常工作。A${N}变为A1,函数 __V返回变量值A1。

7、 替换掉http请求中的参数,如下图:

Jmeter中JDBC链接配置 JDBC Request