前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jmeter系列(30)- 详解 JDBC Request

Jmeter系列(30)- 详解 JDBC Request

作者头像
小菠萝测试笔记
发布2020-06-28 10:51:47
1.9K0
发布2020-06-28 10:51:47
举报

前言

  • JDBC Request 主要是向数据库发送一个 JDBC 请求(sql 语句),并获取返回的数据集
  • 它需要和数据库连接池配置(JDBC Connection Configuration)一起使用

JDBC Request

JDBC Request 界面介绍

字段含义

字段

含义

Variable Name Bound to Pool

数据库连接池配置的名称

Query Type

sql 语句的类型

SQL Query

sql 语句 语句结尾不需要添加 ; 变量用 ? 占位

Parameter values

需要传递的变量值,多个变量用 , 分隔

Parameter types

变量类型

Variable Names

保存sql语句返回的数据和返回数据的总行数 用 , 分隔 跳过列用空

Result Variable Name

一个 Object 变量存储所有返回值

Query timeout(s)

超时时间;默认0,代表无限时间

Limit ResultSet

和 limit 类似作用,限制 sql 语句返回结果集的行数

Handle ResultSet

如何定义 callable statements 返回的结果集;默认是存储为字符串

  • sql 语句
  • 语句结尾不需要添加

;

  • 变量用 占位

? Parameter values 需要传递的变量值,多个变量用 , 分隔 Parameter types 变量类型 Variable Names

  • 保存sql语句返回的数据和返回数据的总行数
  • 用 分隔

,

  • 跳过列用空

Result Variable Name 一个 Object 变量存储所有返回值 Query timeout(s) 超时时间;默认0,代表无限时间 Limit ResultSet 和 limit 类似作用,限制 sql 语句返回结果集的行数 Handle ResultSet 如何定义 callable statements 返回的结果集;默认是存储为字符串

后续通过各种栗子来深入理解常用字段的含义

举栗子的前提

需要自己找一个有数据库的数据来练手哦!这里拿的表数据如下哈

只有 sql 语句的栗子

JDBC Request

没啥特别的,平时 sql 怎么写,这里就怎么写

运行结果

参数化的栗子

JDBC Request
运行结果
知识点
  • 有几个问号,Parameter value、Parameter type 填写值的数量要保持一致,用分隔

,

  • 问号其实是占位符,如果学过编程的童鞋应该也知道这种写法,可以避免 SQL 注入的问题
  • sql 中使用占位符时,Query Type 必须选择 Prepared Select Statement 或者 Prepared Update Statement
  • 我们可以用 Jmeter 变量去赋值,看下面栗子

参数化+变量的栗子

JDBC Request
运行结果
知识点
  • 如果在 sql 语句中使用变量,且是字符串类型,需要加上引号(前提是变量值没有加引号),如

'${name}'

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

使用 Variable Names 的栗子

结构树
JDBC Request

添加一个 Debug Sampler 就知道这个字段有什么作用了

JDBC Request 运行结果
调试取样器运行结果
知识点
  • mysql:数据库连接池对象
  • a_#、b_#、c_#、d_#:代表行数
  • a_1:第 1 行、第 1 列
  • b_2:第 2 行、第 2 列
  • c_3:第 3 行、第 3 列
  • d_3:第 3 行、第 4 列
  • 以此类推....
  • 一般如果 HTTP 请求需要用到 sql 查出来的数据的话,就会用到 Variable names 这个字段

使用 Result variable name 的栗子

JDBC Request
Debug Sampler 运行结果
知识点

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

重点

关于通过 Variable names、Result variable name 获取到的值如何提取,我们将在下一篇文章中详细讲解

使用 Limit ResultSet 的栗子

JDBC Request
运行结果
知识点
  • Limit ResultSet 是对 sql 语句返回的结果集限制行数
  • 限制只返回了 10 条数据,然后 Limit ResultSet = 6 限制结果集最终只返回 6 条数据

limit 10

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • JDBC Request
  • JDBC Request 界面介绍
    • 字段含义
    • 举栗子的前提
    • 只有 sql 语句的栗子
      • JDBC Request
        • 运行结果
        • 参数化的栗子
          • JDBC Request
            • 运行结果
              • 知识点
              • 参数化+变量的栗子
                • JDBC Request
                  • 运行结果
                    • 知识点
                    • 使用 Variable Names 的栗子
                      • 结构树
                        • JDBC Request
                          • JDBC Request 运行结果
                            • 调试取样器运行结果
                              • 知识点
                              • 使用 Result variable name 的栗子
                                • JDBC Request
                                  • Debug Sampler 运行结果
                                    • 知识点
                                      • 重点
                                      • 使用 Limit ResultSet 的栗子
                                        • JDBC Request
                                          • 运行结果
                                            • 知识点
                                            相关产品与服务
                                            数据库
                                            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                            领券
                                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档