---
Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询。本文将介绍jmeter中实现与数据库连接和操作的主要操作步骤,前提条件是至少要会写简单的数据库查询语句。通过使用JDBC Request能够向数据库发送数据库操作语句,它需要和JDBC Connect configuration配合一起使用。
一、安装驱动
在http://dev.mysql.com/downloads/connector/j/上下载JDBC的驱动包,将jmeter-plugins-manager-0.10.jar包放入jmeter安装文件的lib文件中。
二、配置JDBC Connection configuration
右键测试计划→添加→配置元件→JDBC Connection configuration
·Variable Name:数据库连接池的名称,在使用JDBC Request时通过该连接池名称进行连接,因此在使用JDBC Request时输入的连接池名称要与JDBC Connection Configuration中的一致
Connection Pool Configuration中定义了基本配置,可以设置其为默认值。主要需要关注的是Database Configuration中的配置
· Database URL:为数据库的URL,jdbc:mysql://服务器地址:监听端口/数据库名称
· JDBC Driver class:JDBC驱动。一般为com.mysql.jdbc.Driver 或 ort.gjt.mm.mysql.Driver
· Username:数据库的用户名
· Password:数据库密码
三、使用JDBC Request
Variable Name:数据库连接池的名称
· Query Type:查询类型。例如,使用select查询时使用Select Statement,使用delete删除表时使用Update Statement
· Query:在此可以使用数据库操作语句
· Parameter Name:引用的参数值
· Parameter Type:引用参数值的类型
· Variable name:使用sql语句返回的变量名
· Result Variable name:定义一个参数的名称用于保存sql查询结果的返回值
· Query time:设置定时器时间
· Handle Result:参数保存时的保存类型
此时${emailN}存放的邮箱名为huangyuqi1994@gmail.com,由此结果得到
四、参数化的使用方法
(一)Parameter Name
这类的用法和${email}的用法有异曲同工之处,此处使用占位符?来代替参数值,在Parameter Name中填入参数值,严格限制参数值的顺序。而Parameter Type中填入的是相对应的参数值类型
此时${emailN}传递的参数值填入auth_id=?中的占位符中,${idName}同理
(二)Variable names
在Variable names中设置的变量名对应代表了数据库中相应的列,利用逗号隔开,如A1代表第一列的所有内容,A3代表第三列的所有内容。若要取第一列第二行的内容,则可以用A1_2表示;若要取得A1列的总行数,则用A1_#表示,在外部引用该变量时可以直接利用${A1_2}获取,此时取的是第一列第二行的内容。
下面利用BeanShell来打印A3_1和A1_#的值,即取第三行第一列的值和取第一列的行数
通过查看控制台得