jmeter JDBC请求

2020-04-23  本文已影响0人  天雨流芳hodo

1、配置

打开官方下载网址https://dev.mysql.com/downloads/connector/j/
,根据自己的数据库版本、类型和操作系统选择

image.png
下载mysql-connector-java-8.0.19.jar包,存放于jmeter的\lib\ext下,如我的存放路径:F:\apache-jmeter-5.2.1\lib\ext,重启jmeter,这样的操作使jdbc默认配置成功,只需要调用即可。

2、添加-配置元件-JDBC Connection Configuration

Database Connection Configuration.png

Variable Name for created pool:数据库连接池的名称,我们可以有多个JDBC Connection Configuration,每个可以取不同的名称,在jdbc request中可以通过对应的名称选择对应的连接池进行使用。

-Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称?编码格式, 如:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8,其中?useUnicode=true&characterEncoding=utf8为配置的编码格式

•JDBC Driver class:选择JDBC驱动

•username:数据库登陆的用户名

•passwrod:数据库登陆的密码

Some examples for databases and their parameters are given below.

MySQL

  Driver class
    com.mysql.jdbc.Driver
  Database URL
    jdbc:mysql://host[:port]/dbname

PostgreSQL

  Driver class
    org.postgresql.Driver
  Database URL
    jdbc:postgresql:{dbname}

Oracle

  Driver class
    oracle.jdbc.OracleDriver
  Database URL
    jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))

Ingress (2006)

  Driver class
    ingres.jdbc.IngresDriver
  Database URL
    jdbc:ingres://host:port/db[;attr=value]

Microsoft SQL Server (MS JDBC driver)

  Driver class
    com.microsoft.sqlserver.jdbc.SQLServerDriver
  Database URL
    jdbc:sqlserver://host:port;DatabaseName=dbname

3、添加-取样器-JDBC Request

image.png

•Variable Name Bound to pool:数据库连接池的名称,必须与对应JDBC Connection Configuration中的Variable Name for created pool名称一致

•Parameter values:以逗号分隔的参数值列表。使用 ] NULL [ 表示NULL参数。

•Parameter types:参数类型(e.g. INTEGER, DATE, VARCHAR, DOUBLE)

•Variable Names:以逗号分隔的变量名称列表,用于保存Select语句,Prepared Select语句或Callable Statement返回的值。请注意,与CallableStatement一起使用时,变量列表的顺序必须与调用返回的OUT参数的顺序相同。如果变量名少于OUT参数,则在线程上下文变量中应存储与提供的变量名一样多的结果。如果变量名称多于OUT参数,则其他变量将被忽略

•Result Variable Name:结果变量名称,创建一个对象变量,保存所有返回的结果

•Handle ResultSet:定义如何处理callable statements语句返回的ResultSet

4、sql语句参数化

一种方法如上图,直接在sql语句中用${变量名}的方式添加变量;

二是在sql语句中使用英文?作为占位符,并传递参数值和参数类型,其中Query Type(SQL语句类型)要选择对应的Prepared select statement或Prepared update statement,Prepared statement用于绑定变量重用执行计划,对于多次执行的SQL语句,Prepared statement无疑是最好的类型(生成执行计划极为消耗资源,两种实现速度差距可能成百上千倍),statement用于为一条SQL语句生成执行计划(这也是为什么select statement只会执行第一条select语句的原因),如果只执行一次SQL语句,statement是最好的类型。


image.png

传递的参数值是可以是常量,也可以是变量,如上图。多个变量使用“,” 分隔。

上一篇下一篇

猜你喜欢

热点阅读