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


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


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

    废话不多说,开始吧~

    一、JDBC Connection Configuration

    1. 作用

    连接数据库
    在这里插入图片描述

    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驱动
      MySQLjdbc:mysql://host:port/{dbname}com.mysql.jdbc.Driver
      PostgreSQLjdbc:postgresql:{dbname}org.postgresql.Driver
      Oraclejdbc:oracle:thin:user/pass@//host:port/serviseoracle.jdbc.driver.OracleDriver
      sqlServerjdbc:sqlserver://host:port;databaseName=databaseNamecom.microsoft.sqlserver.jdbc.SQLServerDriver
    3. 引入jar包

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

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

    1. 首先需要下载mysql jar包: https://dev.mysql.com/downloads/connector/j/
      在这里插入图片描述

    2. 下载后解压出jar包
      在这里插入图片描述

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

    4. 重启jmeter

    二、JDBC Request

    1. 作用

    向数据库发送一个JDBC请求(sql语句),并获取返回的数据集
    在这里插入图片描述

    2. 参数详解

    在这里插入图片描述

    • 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语句
      在这里插入图片描述
      运行结果:
      在这里插入图片描述

    2. 参数化的例子

      Query Type = Prepared Select StatementPrepared Update Statement

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

      问号其实就是占位符
      在这里插入图片描述
      运行结果:
      在这里插入图片描述

    3. 参数化+变量

      Query Type = Prepared Select StatementPrepared Update Statement

      如果变量是字符串类型,需要加引号,如'${name}',写法跟我们平时写sql语句一致
      在这里插入图片描述

    4. Variable names的用法
      在这里插入图片描述
      运行结果如下:
      添加了Debug Sampler方便我们了解添加了Variable name之后,JDBC Request的返回值:

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

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

      e代表第五列,e_3的值为第五列第三行
      在这里插入图片描述
      由此,JDBC Request查出来的值可以被很方便的使用

    5. Result variable name的用法
      在这里插入图片描述
      运行结果如下:

      返回的变量result是一个数组,每个元素就是表中的一条记录
      在这里插入图片描述

  • 相关阅读:
    常用消息队列各项对比_java培训
    【设计模式】Java设计模式 -工厂模式
    一文读懂!机器人自动化解决方案的应用领域和前景
    java计算机毕业设计高校贫困生信息管理系统源码+mysql数据库+系统+lw文档+部署
    数据链路层-封装成帧
    基于点的数据分析
    展会邀请|虹科诚邀您9月14-16日参加第四届自动驾驶地图与定位大会和第五届自动驾驶与人机共驾论坛
    【ES6模块化】黑马vue视频笔记(十一)
    【Python机器学习】利用AdaBoost元算法提高分类性能——基于数据集多重抽样的分类器
    Ubuntu:安装docker
  • 原文地址:https://blog.csdn.net/weixin_44629511/article/details/125890105