jmeter-jdbc配置和jdbc取样器详解

Posted 无敌大牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter-jdbc配置和jdbc取样器详解相关的知识,希望对你有一定的参考价值。

JDBC配置详解

前言

jmeter调用jdbc协议接口之前,需要引入 jdbc驱动

maven仓库

如mysql:

maven仓库中选择的驱动,要大于等于数据库的版本

下载对应的jar包放到lib目录下的ext

配置元件-JDBC Connection Configuration

连接池名称

  • 自定义连接池的名称: 建议为英文

Database Connection Configuration

数据库的连接配置

  • Database URL

    • jdbc连接串

    • 如mysql为 jdbc://mysql://ip:port:database

      • 可选项?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC

  • JDBC Driver Class

    数据库 DatabaseURL Driverclass
    MySQL jdbc:mysql://host[:port]/dbname com.mysql.jdbc.Driver
    PostgreSQL jdbc:postgresql:dbname org.postgresql.Driver
    Oracle jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host=mc-name)(protocol=tcp)(port=port-no))(connect_data=(sid=sid))) oracle.jdbc.OracleDriver
    Ingress (2006) jdbc:ingres://host:port/db[;attr=value] ingres.jdbc.IngresDriver
    Microsoft SQL Server (MS JDBC driver) jdbc:sqlserver://host:port;DatabaseName=dbname com.microsoft.sqlserver.jdbc.SQLServerDriver
    Apache Derby jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;…]]  
  • 输入对应的数据库用户名、密码

jdbc取样器

JDBC Request

  • pool:要与JDBC配置中的pool名称保持一致

SQL Query

  • query type

    • select statement: 执行的sql为select类型

      • jmeter默认不支持在一个取样器中,写多个sql

    • update statement

      • update 的sql

    • insert sql

      • insert sql

    • delete sql

      • delete的sql

    • callabel statement

      • 调用存储过程

    • prepared select statement

      • 当select语句中带有变量,也可以用$引用

        • select * from test_table where name = \'$name\'

      • 当有多个变量时,用英文逗号分隔

      • 有几个变量就对应几个占位符,位置要一一对应

      • 不管变量对应什么类型,建议一律写varchar

    • prepared update statement

      • update语句中带有变量

    • 注意:

      • 在sql中带有变量的时候,通常使用?占位符

      • 使用? 占位,那么此时 Query type 就必须是 prepared的那两个

    • commit:提交

    • Rollback:回滚

    类型 解析
    Select statement 查询语句,只能执行一条
    update statement 更新语句,只能执行一条
    callable statement 调用存储过程
    prepared select statement 带参数的查询语句
    prepared update statement 带参数的更新语句
    commit 提交
    rollback 回滚
    autocommit(false) 自动提交
    autocommit(true)  
    编辑$ 把sql当脚本放csv文件中

variable

定义变量接收一列中的多个值,多个值,会在变量名称后面自动添加 下划线和数字

  • Parameter values

    • 需要传递的变量值,多个变量用(实际值) , 分隔

      • 如select * from test_table where id = ?

        • 这里就直接填id对应的值,也可以使用$去引用变量

    • Parameter types

      • 变量的类型,建议使用varchar

    • Variable Names

      • 定义变量接收一列中的多个值,多个值,会在变量名称后面自动添加 下划线和数字

      • 参考文档

    • Result Variable Name

      • 一个 Object 变量存储sql执行的返回值

      • 如果在 sql 语句中使用变量,且是字符串类型,需要加上引号(前提是变量值没有加引号),如 \'$name\'

        • select * from test_table where name = \'$name\'

      • 如果在 Parameter values 中使用变量,且是字符串类型,不需要加上引号,只需要在 Parameter types 里写明为 varchar 即可

    • result variable name

      • 该变量是个数组,每一个元素代表一条记录

        • 如接收 select * from test_table limit 3

以上是关于jmeter-jdbc配置和jdbc取样器详解的主要内容,如果未能解决你的问题,请参考以下文章

JMeter-JDBC Request使用

jmeter jdbc request使用详解

jmeter-JDBC请求(sqlserver)

Jmeter-JDBC request

jmeter-jdbc连接数据库

Jmeter(十四)取样器之JDBC Request