美文网首页
jmeter JDBC请求

jmeter JDBC请求

作者: 天雨流芳hodo | 来源:发表于2020-04-23 17:34 被阅读0次

    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

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

    相关文章

      网友评论

          本文标题:jmeter JDBC请求

          本文链接:https://www.haomeiwen.com/subject/zheoihtx.html