Jmeter----jdbc请求使用之JDBC Connection Configuration

1、前提准备
(1)添加jar包:jmeter的lib目录下放mysql-connector-java-5.1.28.jar
(2)准备数据库,链接数据库
(3)JDBC Connection Configuration的设置:数据库端口、用户名密码正确
(4)放jar包之后需要重启jmeter,否则会造成jdbc请求不通
(5)这里使用的是mysql
2、目的:通过配置元件JDBC Connection Configuration,辅助JDBC Request,模拟数据库请求,返回请求的结果,一般的请求包含增删改查;另外可以将返回的结果以参数的形式应用到其他请求中去!

3、操作步骤
(1)配置JDBC Connection Configuration
在这里插入图片描述
参数说明
Variable Name for created pool:数据库连接池的名称,可以设置多个jdbc connection configuration,命名不同,在jdbc request请求中可以通过这个名称选择对应的连接池进行使用。
Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如:jdbc:mysql://localhost:3306/test,本次测试数据库安装再本地
(2)添加jdbc请求

(3)设置jdbc请求
在这里插入图片描述
参数说明:
Variable Name部分:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query Type:查询类型,callable Statement结合使用占用符
Query:sql语句
Parameter valus:参数值
Parameter types:参数类型,比如是整形,是integer,这里不能写int
Variable names:输出列:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
(4)普通查询—执行(3)得到数据库查询结果
在这里插入图片描述
(5)条件查询,重写sql
在这里插入图片描述
运行结果:
在这里插入图片描述

(6)根据列查询,重新设置jdbc查询条件,根据字段参数选择不同的查询类型:当把所有的输出列写出来时,仍然是select statement类型
在这里插入图片描述
当输出列写部分列时,则选择查询类型是Callable Statement,参数列要使用对应的占位符逗号隔开,第一列的列名即使不写,那么也要使用逗号隔开占用,否则查询失败(但是一定要按照实际顺序,不然取不到值
在这里插入图片描述

查询结果:显示根据位置参数输出
在这里插入图片描述
另外:可以注意的是debug中查看到参数的值
Age_#=2代表有两行数据,#代表所有的行;Age_1=1代表第一行;可以利用得到的数据作为其他请求的参数,进而使用结果的参数化!
在这里插入图片描述
(7)同(6)设置条件查询时,可以使用?为占位符,且要输入传递值和传递类型,如果有多个参数则传递值和类型用逗号隔开,如(8)
在这里插入图片描述

查询结果
在这里插入图片描述
在这里插入图片描述

(8)结合6,7,使用返回的数据列作为另一个http请求的参数:
在这里插入图片描述
借助debug sample查看参数
在这里插入图片描述
将参数放到一个新的http请求中,这里使用百度作为测试!
在这里插入图片描述
查看结果树,可以看到请求链接后的参数正常得到了设置的参数,实现了数据的传递
在这里插入图片描述
(9)Result结果参数使用
Result variable name 参数使用方法
如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:columnValue = vars.getObject(“resultObject”).get(0).get(“Column Name”)
直接使用8的方法不行,无法正常取到值!!!!
在这里插入图片描述
操作方法:填写结果集参数
在这里插入图片描述
Name 0是在后置处理器中自定义的参数,判断在http中可以取到就行
(设置后置处理器,将得到的值赋值给name0)

在这里插入图片描述
另一个http请求引用数据库结果返回的result参数
在这里插入图片描述
查看debug sample
在这里插入图片描述
查看结果树
在这里插入图片描述