1)“配置元件”->“JDBC Connection Configuration”
精简版:
Variable Name:连接池名称
Database URL:jdbc:mysql://host:port/db(jdbc:mysql://ip地址:端口号/数据库名称)
JDBC Driver class:com.mysql.jdbc.Driver
username:连接数据库的用户名(如root)
password:连接数据库的密码
详细版:
1.Variable Name:数据库的类型;
2.MaxNumber of Connection: 数据库最大链接数;
3.Max Wait(ms):连接等待时长;
4.Time Between Eviction Runs(ms):连接时长;
5.Auto Commet:自动提交;
6.Transaction Isolation: 事务间隔级别设置;
(1)TRANSACTION_NODE 事务节点 、
(2)TRANSACTION_READ_UNCOMMITTED事务未提交读、
(3)TRANSACTION_READ_COMMITTED事务已提交读 、
(4)TRANSACTION_SERIALIZABLE事务序列化 、
(5)DEFAULT默认、
(6)TRANSACTION_REPEATABLE_READ事务重复读、
7.test while idle :连接空闲时是否从连接池中去除;
8.soft min Evictable idle time(ms):检验时间间隔;
9.Validation Query:验证查询,检验连接是否有效(不同数据库类型不同);
10.JDBCDriver Class: JDBC的类,如org.gjt.mm.mysql.Driver ;
11.Usename,password :用户名密码;
12.Database URL:数据库地址(格式:
jdbc:mysql://ipaddress:3306/dbname?characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000)
2) “Sampler”->“JDBC Request”
1)Variable Name:连接池名称
注意:该值要和JDBC Connection Configuration中配置的Variable Name值对应,否则会提示:No pool found named: 'pool12', ensure Variable Name matches Variable Name of JDBC Connection Configuration;
2)Query Type:默认为Select Statement
含变量的sql查询,选择Prepared Select Statement
a)传递的参数值是常量,如图传递2个变量,多个变量使用” , “ 分隔。这里假如你有数据是int类型的,也要在Parameter types 那里标示为varchar类型,否则无法运行。
b)传递的参数值是变量,使用${变量名}的方式
C) sql语句是insert 语句,用Callabs Statement
3)Query:输入sql语句,注意不要加分号
4)Parameter types:变量的类型varchar,如果是int类型,也要写成varchar
5)Variable names:保存查询结果,供后续接口调用,注意调用时加“_1”
jmeter官网给的解释是:如果给这个参数设置了值,它会保存sql语句返回的数据和返回数据的总行数。假如,sql语句返回2行,3列,且variables names设置为A,,C,那么如下变量会被设置为:
A_#=2 (总行数)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (总行数)
C_1=第3列, 第1行
C_2=第3列, 第2行
解析:
column1代表第一列所有的数据,column1_#可以获取到第一列的行数
column1_n:获得第一列第n行的数据。
column2和column3的功能类似, 假如我们只需要第一列和第三列的数据,可以写成column1,,column3,中间的","不可以省略
6)Result Varialbe name:
如果给这个参数设置值,它会创建一个对象变量,保存所有返回的结果,获取具体值的方法:columnValue = vars.getObject("resultObject").get(0).get("Column Name")