JMeter JDBC请求
admin
2024-05-06 12:19:24
0

JMeter如何操作数据库

JMeter是一款java应用,使用的是JDBC方式去连接和操作数据库,在JMeter中,和数据库操作有关的组件有四个:

  • JDBC Connection Configuration:JDBC连接配置组件,属于必选组件

  • JDBC request:JDBC请求组件,是用来通过jdbc方式去请求数据库的

  • JDBC preprocess:JDBC前置处理器,一般用于用例步骤的数据准备

  • JDBC postprocess:JDBC后置处理器,一般用于用例预期结果的数据准备

准备工作

  • JDBC驱动包,JMeter本身是不提供数据库的JDBC驱动包,需要去数据库的官网下载。不同类型数据库的JDBC驱动包是不一样的,同一数据库的不同版本对于JDBC驱动的版本也可能有不同要求

一般来说,下载之后需要解压,获取到一个*.jar文件
  • 数据库信息,包括

  • 数据库的地址

  • 用户名

  • 密码

  • 数据库名

  • 表名,业务相关的必须知道

JDBC Connection Configuration,JDBC连接配置组件

  • variable Name,变量名称,是用来存储连接配置的,由用户自定义,建议有意义即可

  • Connection pool,连接池设置,除非做性能测试,否则该处不用调整

  • Database connnection,数据库连接设置

  • Database URL,数据库连接地址

不同类型的数据库,连接地址的写法不一样,可以通过JMeter的帮助文档、互联网搜索和询问开发等方式获取
  • JDBC Driver Class,驱动类,选择和数据库类型相关的即可

  • username,数据库连接的用户名

  • password,密码

JDBC Request,JDBC请求

  • Variable Name,该处填写在JDBC连接配置组件中所设置的变量名称,表示对应的JDBC连接配置

  • Query Type,请求类型,要求所选类型和实际请求的sql语句类型保持一致

  • Select statement,Select类型,支持的关键字有select

  • Update statement,Update类型,支持的关键字有create/alter/drop,insert/update/delete

  • Callable statement,Callable类型,支持几乎所有的sql关键字,一般主要在这里进行存储过程的调用

JMeter层面的参数化处理,就是用JMeter的变量调用、函数调用字符串去替代SQL语句中的值,不包括单引号之类。
  • Prepared Select statement,前置Select类型,所支持的SQL关键字和Select类型是一致的

  • Prepared Update statement,前置Update类型,所支持的SQL关键字和Update类型是一致的

Prepared types,Prepared类型,表示支持SQL语句中通过问号作为占位符来实现参数的传递,在实际运行中,这种方式会进行预编译。参数值的传递和以下两个parameter选项有关:
1)Parameter values,参数值,是用来传递值给prepared类型的SQL语句中的问号的,多个参数值使用逗号分隔,并且数量、顺序和类型要求和SQL语句中的语义保持一致
2)Parameter types,参数类型,用于描述参数值,多个参数类型使用逗号分隔,参数类型的数量、顺序要求和参数值保持一致,常见的参数类型有
varchar,字符串型
integer,整型
  • variable names,变量名称,是复数,表示将查询结果存入指定的变量中

  • 变量名称可以有多个,使用逗号进行分隔

  • 变量名称是按照顺序去存储查询结果中的值,一个变量存储一列值,这就意味着要保证变量名称的数量和查询结果列数的一致性

  • 值的存储采用类似于数组的方式存储,例如变量名_1=value_1,...,变量名_N=value_N

相关内容

热门资讯

河南夫妇冒雨移开折断大树,“不... 评论员 陈柯旭 折断的大树能挡住马路,但挡不住普通人身上的微光。 近日,在河南驻马店突降暴雨,一棵大...
现货黄金跌破4300美元关口 8日,现货黄金盘中跳水,跌破4300美元/盎司,跌超0.6%。 消息面上,据新华社,当地时间7日晚,...
英法德联合出手! 文丨陆弃 当英国首相斯塔默、法国总统马克龙和德国总理默茨准备与乌克兰总统泽连斯基在伦敦举行会晤时,外...
两个月来伊以首次互袭,特朗普想... 当地时间6月7日,伊朗向以色列发射了四轮导弹袭击,以回应数小时前以色列对黎巴嫩首都贝鲁特进行的致命空...
德韩竞标谁能赢? 崔轶亮:难分... 加拿大正在推进“巡逻潜艇项目”,计划采购最多12艘柴电潜艇,以替换预计于2030年代中期退役的4艘“...
向以色列发射三波导弹后,伊朗威... 据参考消息6月8日报道,6月7日晚,伊朗向以色列发射三波导弹,以回应以色列不断升级对黎巴嫩的军事行动...
原创 恐... 6月8日,国际足坛再次出现球员在比赛中昏迷的情况。在丹麦同乌克兰的热身赛中,34岁的埃里克森忽然晕倒...
原创 歼... 这两天,咱们国产隐身机歼-35的外贸版(也就是歼-35AE)算是彻底曝光了,连带着那架编号0001的...
以色列遭多波导弹袭击!特朗普:... 据美国有线电视新闻网(CNN)报道,当地时间7日,伊朗伊斯兰革命卫队(IRGC)发布声明称,当日用弹...
原创 W... WB集团的Warmate“滞留弹药,配备气动弹射器,起飞前使用。(WB集团) 波兰军备局与WB集团签...