~什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库连接),在jmeter中是一种可以远程操作数据库的一类组件。

~jmeter如何操作数据库?:jmeter是一款java应用,一般都是通过JDBC方式来实现;

  *准备工作:jmeter操作数据库需要JDBC驱动包,但下载的jmeter本身没有提供任何的JDBC驱动包,需要另外下载。

  *JDBC获取途径:可以找开发,可以去官网下载(地址:https://dev.mysql.com/downloads/connector/j/),需要注意的是,如果你是做性能测试的,JDBC的驱动包版本一定要下对,否则性能的瓶颈原因可能就出现版本号不一致上。如果是自动化,下载的驱动包版本比你数据库版本高即可,低于的话可能会导致连接报错。

  *如何安装驱动包?请查看该篇文章:https://www.cnblogs.com/FBGG/p/11758565.html

~jmeter中和数据操作有关的组件几个?他们的作用是什么?:四个,作用如下

  *JDBC Connection Configuration:(JDBC连接配置)组件,属于必选组件。当需要连接多个库时,可以添加多个。添加路径(配置元件)>(JBDC Connection Configuration)

  *JDBC Request:(JDBC请求),用于输入sql数据操作数据库。路径(线程组)(取样器)>(JDBC Request)

  *JDBC PreProcessor:(JDBC预处理器),功能与JDBC Request类似,只不过这是在运行请求之前执行。路径(前置处理器)>(JDBC PreProcessor)

  *JDBC PostProcessor:(JDBC后处理器),功能与JDBC Request类似,只不过这是在运行请求之后执行。路径(后置处理器)>(JDBC PostProcessor)

~JDBC Connection Configuration 配置讲解?: 添加路径(配置元件)>(JBDC Connection Configuration)

  *Variable Name:(变量名称),用来存储连接配置信息,后续的JDBC请求,JDBC前、后置处理器都需要用到。建议格式(库名_主机ip:TestJdbc_192)

  *connestion Pool Configuration:(连接池配置),这块信息之和性能测试有关,一般不用操作,在此不作深度解析。

  *connestion Validation by pool:(连接池验证),有用的只有Validation Query(验证查询),这个直接选,一般mysql就选select 1

  *JDBC Connection Configuration:(JDBC连接配置)信息(重点)

    *Database URL:数据库的URL地址,不同类型的数据库JDBC的URL写法是不一样的。可以从官网查看每个不同数据库的配置方法

分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    *JDBC Driver class:JDBC驱动类的路径。不同数据库的驱动类不一样,需要根据自身情况选择。这个路径从哪里来呢?请看下图

分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *Username:用户名。数据库的用户名,这个不多说了,复制粘贴就行

  *Password:密码。数据库的密码。,这个不多说了,复制粘贴就行

~JDBC Request  配置讲解:路径(线程组)(取样器)>(JDBC Request)

  *Variable Name......:该处填写的是在JBDC Connection Configuration 中所定义的变量名称,表示使用对应的JDBC 数据库连接配置。(因为JBDC Connection Configuration可以是多个,想连哪个就使用哪个变量名)

  *Query Type:请求类型,要求实际执行的SQL和所选的Query Type(请求类型)一致。可选的值和描述如下

    *Select statement:select类型,对应可执行的SQL关键字有(select),也就是只能使用这些关键字进行操作数据库

    *Updata Statement:updata类型,对应可执行的SQL关键字有(create、drop、alter:针对表结构调整)(install、delet、updata:针对表数据调整),也就是只能使用这些关键字进行操作数据库

    *Callable Statement:Callable类型,支持所有的关键字,主要用于存储过程的调用。对应可执行的关键字有,可以认为是call,所有。也就是所有类型的sql语句都支持

    *Prepared Select statement:前置select类型,又叫批量select类型。对应可执行的SQL关键字和Select statement完成一样。

    *Prepared updata statement:前置select类型,又叫批量updata类型。对应可执行的SQL关键字和Updata statement完成一样。

    PS:(Prepared Select statement)和(Prepared updata statement)属于Prepared类型,支持在sql语句中通过问号?来实现参数的占位和传递。该功能可以节约数据库的性能资源。主要用作性能测试,非性能测试不必要用。Prepared类型需要用到下方的两个属性来实现,请看截图描述

      *Parameter values:参数值。s代表可以填写多个;参数值的个数,类型要求和sql语句中的问号所在的值保持一致;参数值之间使用逗号进行分隔。

      *Parameter types:参数类型。s代表可以填写多个;参数类型的个数、类型值要求与参数保持一致;假如参数值是数字类型,则参数类型就为int,假如是字符串,则参数类型就为float;参数类型之间也是用逗号进行分隔。

*Variable names:变量名称s。

  *该处的变量名称由用户自定义,建议用有意义命名格式。

  *如s所表示,变量名可以有多个,使用逗号进行分隔。

  *所定义的变量是用来存储查询结果的。

  *每一个变量对应的查询结果的一列值,按照变量名顺序一一对应;即N个查询结果对应N个变量名,注意是按列来对应,一个变量存一列值,也就是如果你查询的结果中返回的有两个列,id和name,那你的变量名需要写两个来对应,一个存储id列的所有值,一个存储name列的所有值。可以看截图脑补

  *值的存储是采用类似于数组的方式来实现。如列变量_1,列变量_2......列变量_N。

图片分隔线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

到此,JDBC类组件讲解完成!!!!!

jmeter之JDBC类组件的更多相关文章

  1. Jmeter之JDBC类型组件

    一.背景 在测试过程中,避免不了与数据库打交道,比如数据的校验.数据的准备或者重置操作,又或者对数据库进行增删改查,基于以上诉求,在Jmeter中是如何实现的呢.可使用JDBC类型组件来实现以上功能操 ...

  2. Jmeter之JDBC Request使用方法(oracle)

    JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...

  3. Jmeter 中JDBC request 详解 !

    JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...

  4. JMeter处理jdbc请求后的响应结果

    JMeter如果进行JDBC请求,请求后的响应结果如何给下一个请求用(也就是传说中的关联),于是研究了一下,下面将学习的成果做个记录: 1.添加 "JDBC Connection Confi ...

  5. Jmeter发送JDBC请求

    下午花了两个小时研究了一下Jmeter发送JDBC请求,现在把基本操作流程分享一下. 做JDBC请求,首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bi ...

  6. 同学帮帮移动 H5 弹出层类组件:txbb-pop

    Txbb.Pop 同学帮帮弹出层类组件,简洁.无依赖,使用 CSS3 实现动画效果. 为什么要再造一遍轮子 弹出层是常见的业务场景,而且弹出层的业务场景很简单,没必要使用大而全的库,并且,我们经常会有 ...

  7. cocos2d-x 源代码分析 : control 源代码分析 ( 控制类组件 controlButton)

    源代码版本号来自3.1rc 转载请注明 cocos2d-x源代码分析总文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.继承 ...

  8. Jmeter中JDBC Request和BeanShell PostProcessor的结合使用(SQL模糊查询)

    [前言] 今天记录一下Jmeter中JDBC Request和BeanShell PostProcessor的结合使用的方法(SQL模糊查询) [步骤] 1.下载对应数据库的驱动包到jmeter安装目 ...

  9. jmeter使用JDBC连接数据库

    jmeter使用JDBC的配置元件连接数据库,通过sql语句查询需用到的数据 配置元件名称:JDBC connection configuration,使用前,需导入mysql-connector-j ...

随机推荐

  1. 广州小公司:List集合你是熟悉的,对吧?

    <对线面试官>系列目前已经连载27篇啦!有深度风趣的系列! [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 & ...

  2. Doris开发手记3:利用CoreDump文件快速定位Doris的查询问题

    Apache Doris的BE部分是由C++编写,当出现一些内存越界,非法访问的问题时会导致BE进程的Crash.这部分的问题常常较难排查,同时也很难快速定位到对应的触发SQL,给使用者带来较大的困扰 ...

  3. 「CF1380G」 Circular Dungeon

    CF1380G Circular Dungeon 看懂样例就能做. 虽然我瞪了 20 分钟 菜是原罪 首先可以将从每一个点出发所能获得的价值相加,再除以 \(n\) 就可以得到价值的期望. 所以问题转 ...

  4. 自动化运维必须要学的Shell脚本之——循环语句(for、while和until循环)

    1. 循环前先了解echo的使用 1.1 echo -n 表示不换行输出 1.2 echo -e 输出转义字符,将转义后的内容输出到屏幕上 常见的转义字符有: 1.2.1 \b 相当于退格键 转义后相 ...

  5. 动态路由协议、RIP

    动态路由协议.RIP      一.动态路由协议        1)动态路由协议概述        2)度量值        3)收敛        4)静态路由与动态路由的比较        5)动 ...

  6. js学习-apply,call,bind的实现

    目录 apply call bind demo apply 简单说:构建一个和调用aplly函数一样的字符串,用eval执行,完了之后删除掉,最后返回执行的结果. Function.prototype ...

  7. Motion Planning 是什么

    前言与引用 这一个呢,主要是自己突然看一篇论文的时候不知道 为什么他提出的方法对于规划来说就是好的,规划又应该分为哪几个部分,解决的是哪几个部分的问题?带着这个问题,我就去搜:Motion Plann ...

  8. SpringMvc接受请求参数的几种情况演示

    说明: 通常get请求获取的参数是在url后面,而post请求获取的是请求体当中的参数.因此两者在请求方式上会有所不同. 1.直接将接受的参数写在controller对应方法的形参当中(适用于get提 ...

  9. pagehelper插件使用时查询不到数据

    刚用mybatis 的分页插件时,老项目中分页封装的分页类起始为( pageno-1)* pagesize  于是直直接在pagehelper.start(start,pagesize)来进行分页.结 ...

  10. Kafka之--python-kafka测试kafka集群的生产者与消费者

    前面两篇博客已经完成了Kafka的搭建,今天再来点稍高难度的帖子. 测试一下kafka的消息消费行为.虽然,kafka有测试的shell脚本可以直接测试,但既然我最近在玩python,那还是用pyth ...