JMeter JDBC Request

准备工作

  1. 准备MySQL JDBC驱动Jar包:mysql-connector-java-5.1.13-bin.jar;

将JDBC 驱动直接放置在 Jmeter/lib/ext 目录下即可。

  1. 重启Jmeter

 

添加JDBC Connection Configuration

在测试计划中添加JDBC Connection Configuration组件,配置数据库连接信息

image.png

  • Variable Name for created pool:必填,jdbc连接变量名,用于后续jdbc组件调用。<4.0版本的Jmeter此属性为“Variable Name”
  • Database Connection Configuration:JDBC连接配置信息,Database URL、Username、Password皆可调用上文参数
  • 其他配置项:无特殊情况,默认即可。

不同数据库的驱动类和URL格式:

image

 

JDBC查询

Jmeter中支持JDBC查询的组件为:JDBC Request、JDBC PreProcessor、JDBC PostProcessor。

image.png

说明一点:这里用到的 Query Type 为:Select statement,这是一个查询语句类型,如果在 Query 中查询的是一条语句,就可以采用这种查询类型,但是当查询语句多于一条的时候,就不能在使用此查询类型,需要设置 Query Type 为:Callable Statement。

另外:当 JDBC 脚本执行的时候,总是会优先去执行 Select statement 的第一行。

  • Variable name:这里写入数据库连接池的名字(和JDBC Connection Configuration名字保持一致 )。
  • Query Type:支持多种查询方式,常用的为Select statement和Prepared Select Statement。
  • Query:里面填入查询数据库数据的SQL语句(填写的SQL语句末尾不要加“;”),支持调用上文参数。
  • Parameter valus:数据的参数值。
  • Parameter types:数据的参数类型。
  • Variable names:保存SQL语句返回结果的变量名。
  • Result variable name:创建一个对象变量,保存所有返回结果。
  • Query timeout:查询超时时间。
  • Handle ResultSet:定义如何处理由callable statements语句返回的结果。

Query Type

1. Select statement

适用于查询语句就只有一条,且可直接执行(但可以使用${xxx}调用上文参数)。如果Query中有多条查询语句,则只执行第一条语句。

image.png

2. Prepared Select Statement

适用于条件查询,在where条件语句中,使用?替代参数值,在Parameter values中填上对应的参数值;Parameter values中的值与Query中的?一一对应,并以","分隔;Parameter types填入varchar,Parameter values有几个参数值,就填几个varchar,用“,”分隔。(不管什么参数,均填varchar)。

select id from ide.rdos_table where id = ?;

image.png

3. Update statement

这是一个更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。如果该类型下写入多条update语句,依然只执行第一条。

4. Callable statement

适用于多条语句。

5. Prepared update statement

Prepared update statement和Prepared select statement的用法是相似的。

6. Commit

将未存储的SQL语句结果写入数据库表;而在jmeter的JDBC请求中,同样可以根据具体使用情况,选择这种Query类型。

7. Rollback

撤销指定SQL语句的过程;在jmeter的JDBC请求中,同样可以根据需要使用这种类型。

8. AutoCommit(false)

MySQL默认操作模式就是autocommit自动提交模式。表示除非显式地开始一个事务,否则每条SQL语句都被当做一个单独的事务自动执行;我们可以通过设置autocommit的值改变是否是自动提交autocommit模式;

而AutoCommit(false)的意思是AutoCommit(假),即将用户操作一直处于某个事务中,直到执行一条commit提交或rollback语句才会结束当前事务重新开始一个新的事务。

 

 

扩展:当SQL只执行一次,可以选择statement类型,如果SQL会执行多次,可以使用prepared statement。prepared statement在第一次执行时,会消耗较高性能。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值