Jmeter基础入门教程【12】--常用功能详解:JDBC

前言
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦

文章目录

        • 一、JDBC Connection Configuration
          • 1. 作用
          • 2. 参数详解
          • 3. 引入jar包
        • 二、JDBC Request
          • 1. 作用
          • 2. 参数详解
          • 3. JDBC Request实栗

前言:本篇主要介绍Jmeter是如何连接数据库、向数据库发送sql,以及如何处理数据库返回的信息。

废话不多说,开始吧~

一、JDBC Connection Configuration

1. 作用

连接数据库
Jmeter基础入门教程【12】--常用功能详解:JDBC_第1张图片

2. 参数详解

Jmeter基础入门教程【12】--常用功能详解:JDBC_第2张图片

  • Variable Name for created pool:数据库连接池名称,自定义

    一个JDBC Connection Configuration就是一个数据库连接池配置,一个测试计划可以有多个数据库连接池,只要名称不重复就行

  • Connection pool configuration : 连接池参数配置,基本保持默认就行了

    字段 含义
    Max Number of Connections 最大连接数,一般填0即可,意思是每个线程都使用单独的数据库连接
    MAX Wait(ms) 在连接池中取回连接最大等待时间
    Time Between Eviction Runs 线程可空闲时间
    如果当前连接池中某个连接在空闲了x时间后仍然没有使用,则被物理性关闭
    Auto Commit 自动提交sql语句,如修改数据库时,自动commit
    Transaction isolation 事务隔离级别
  • Connection Validation by Pool:验证连接池是否可响应

    字段 含义
    Test While Idle 当连接空闲时是否断开
    Soft Min Evictable Idle Time 连接池处于空闲状态的最短时间
    Validation Query 一个简单的查询,用于确定数据库是否仍在响应
    默认为jdbc驱动程序的isValid()放法,该方法适用于许多数据库
  • Database Connection Configuration:数据库连接配置(重点)

    字段 含义
    Database URL 数据库连接URL
    例如:jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF8&autoReconnect=true&allowMultiQueries=true(允许执行多条 sql)
    JDBC Driver class 数据库驱动
    Username 数据库登录用户名
    Password 数据库登录密码
    Connection 建立连接时要设置的连接属性

    常见的Database URL 和 驱动—用于设置的时候参考

    数据库类型 URL 驱动
    MySQL jdbc:mysql://host:port/{dbname} com.mysql.jdbc.Driver
    PostgreSQL jdbc:postgresql:{dbname} org.postgresql.Driver
    Oracle jdbc:oracle:thin:user/pass@//host:port/servise oracle.jdbc.driver.OracleDriver
    sqlServer jdbc:sqlserver://host:port;databaseName=databaseName com.microsoft.sqlserver.jdbc.SQLServerDriver
3. 引入jar包

想要使用不同的数据库,就需要引入不同的jar包,下面拿mysql举例:

注意:jmeter自带mysql的jar包,不过可能会因为jar包的版本过低,导致数据库连接失败,需要重新引入一个高版本的jar包覆盖低版本的。

  1. 首先需要下载mysql jar包: https://dev.mysql.com/downloads/connector/j/
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第3张图片

  2. 下载后解压出jar包
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第4张图片

  3. 将jar包复制粘贴到jmeter的bin目录下(将低版本的jar包删除)

  4. 重启jmeter

二、JDBC Request

1. 作用

向数据库发送一个JDBC请求(sql语句),并获取返回的数据集
Jmeter基础入门教程【12】--常用功能详解:JDBC_第5张图片

2. 参数详解

Jmeter基础入门教程【12】--常用功能详解:JDBC_第6张图片

  • Variable Name Bound to Pool:数据库连接池的名称(需要与JDBC Connection Configuration配置的一致)
  • Query Type:sql语句的类型
  • SQL Query:sql语句;语句结尾不要加;变量用?占位
  • Parameter values:需要传递的变量值,多个变量用,分割
  • Parameter types:变量类型
  • Variable Names:保存sql语句返回的数据和返回数据的总行数;用,分割;跳过列用空
  • Result Variable Name:一个Object变量存储所有返回值
  • Query timeout:超时时间;默认0,代表无限时间
  • Limit ResultSet:和limit类似作用,限制sql语句返回结果集的行数
  • Handle ResultSet:如何让定义callable statements返回的结果集;默认是存储为字符串
3. JDBC Request实栗
  1. 只有sql语句
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第7张图片
    运行结果:
    在这里插入图片描述

  2. 参数化的例子

    Query Type = Prepared Select StatementPrepared Update Statement

    有几个问号,Parameter value、Parameter type填写的数量要保持一致,用,分割

    问号其实就是占位符
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第8张图片
    运行结果:
    在这里插入图片描述

  3. 参数化+变量

    Query Type = Prepared Select StatementPrepared Update Statement

    如果变量是字符串类型,需要加引号,如'${name}',写法跟我们平时写sql语句一致
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第9张图片

  4. Variable names的用法
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第10张图片
    运行结果如下:
    添加了Debug Sampler方便我们了解添加了Variable name之后,JDBC Request的返回值:

    a代表第一列,a_1的值为第一列第一行

    b代表第二列,b_1的值为第二列第一行

    e代表第五列,e_3的值为第五列第三行
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第11张图片
    由此,JDBC Request查出来的值可以被很方便的使用

  5. Result variable name的用法
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第12张图片
    运行结果如下:

    返回的变量result是一个数组,每个元素就是表中的一条记录
    Jmeter基础入门教程【12】--常用功能详解:JDBC_第13张图片

你可能感兴趣的:(Jmeter,jmeter,性能测试)