什么是JDBC?:全称名为Java DataBase Connectivity,(java数据库链接),在jmeter中是一种能够远程操做数据库的一类组件。html
jmeter如何操做数据库?:jmeter是一款java应用,通常都是经过JDBC方式来实现;java
*准备工做:jmeter操做数据库须要JDBC驱动包,但下载的jmeter自己没有提供任何的JDBC驱动包,须要另外下载。mysql
*JDBC获取途径:能够找开发,能够去官网下载(地址:https://dev.mysql.com/downloads/connector/j/),须要注意的是,若是你是作性能测试的,JDBC的驱动包版本必定要下对,不然性能的瓶颈缘由可能就出现版本号不一致上。若是是自动化,下载的驱动包版本比你数据库版本高便可,低于的话可能会致使链接报错。sql
*如何安装驱动包?请查看该篇文章: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)spa
*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类组件讲解完成!!!!!