JDBC Connection Configuration 数据库连接配置

数据库连接配置器,用来连接数据库,是一个连接池。 界面介绍

1.右键线程组->添加->配置元件->JDBC Connection Configuration

  • Variable Name for created pool:数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。

  • Max Number of Connections:连接池的最大连接数,在大多数情况下,将其设置为零(0)。这意味着每个线程将获得其自己的池,其中包含单个连接,即线程之间不共享连接。如果你真的想使用共享池),那么将最大链接数设置为与线程数相同,以确保线程不会相互等待。

  • Max Wait (ms):最大超时间

  • Time Between Eviction Runs (ms) :空闲连接池清理的时间间隔。

  • Auto Commit:事务是否自动提价选项,比如Oracle执行一条更新操作,不Commit一下,数据不会更新到数据库中的,这个选项帮我们自动提交。

  • Transaction Isolation:JDBC事务控制 数据库的事务控制ADIC传送门

    • TRANSACTION_NONE:不支持的事务,TRANSACTION-NONE=0

    • TRANSACTION_READ_UNCOMMITEED:允许脏读,不可重复读和幻读

    • TRANSACTION_READ_COMMITEED:禁止脏读,允许不可重复读和幻读

    • TRANSACTION_REPEATABLE_READ:禁止脏读和不可重复读,允许幻读

    • TRANSACTION_SERILIZABLE:禁止脏读,不可重复读和幻读

    • DEFAULT:JMETER设定的。默认值是1,其实是TRANSACTION_READ_COMMITEED 禁止脏读,允许不可重复读和幻读。

    • 什么是脏读,不可重复读,幻读

脏读:一个事务读取另外一个事务未提交的数据。
不可重复读:一个事务再次读取之前的数据时,这个数据已经被另外一个事务修改。
幻读:一个事务重新执行一个查询,返回的记录包含了其他事务提交的新纪录。
  • Test While Idle:测试池的空闲连接,请参阅BasicDataSource.html#getTestWhileIdle。查询验证。

  • Soft Min Evictable Idle Time(ms):

  • Validation Query:验证SQL的语法

  • Database URL:数据库地址,以下为不同数据库的连接方式

MySQL
Driver class
com.mysql.jdbc.Driver
Database URL
jdbc:mysql://host[:port]/dbname PostgreSQL
Driver class
org.postgresql.Driver
Database URL
jdbc:postgresql:{dbname} Oracle
Driver class
oracle.jdbc.OracleDriver
Database URL
jdbc:oracle:thin:@//host:port/service OR jdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid}))) Ingress (2006)
Driver class
ingres.jdbc.IngresDriver
Database URL
jdbc:ingres://host:port/db[;attr=value]
Microsoft SQL Server (MS JDBC driver)
Driver class
com.microsoft.sqlserver.jdbc.SQLServerDriver
Database URL
jdbc:sqlserver://host:port;DatabaseName=dbname
Apache Derby
Driver class
org.apache.derby.jdbc.ClientDriver
Database URL
jdbc:derby://server[:port]/databaseName[;URLAttributes=value[;…]]
  • JDBC Driver class:数据库类型,数据库的驱动包需要放到/lib目录下,使用mysql依赖mysql-connector-java-8.0.13.jar下载地址

  • Username:用户名

  • Password:密码

JDBC Request JDBC 请求

数据库连接配置器,用来连接数据库,是一个连接池。 界面介绍

右键线程组->添加->取样器->JDBC Request

  • Variable Name of Pool declared in JDBC Connection Configuration(必须) :连接池绑定的JMeter变量的名称。这必须与JDBC连接配置的“变量名称”字段一致。

  • Query Type:查询类型,根据语句设置查询的类型

    • Select Statement:执行查询语句的时候使用。可以使用${}引入参数,不可使用占位符进行参数化
    • Update Statement :执行更新操作的时候用到,包括插入与修改。可以使用${}引入参数,不可使用占位符进行参数化。
    • Callable Statement:对应JDBC规范中的CallableStaenent对象,它为所有的DBMS提供了一种以标准形式调用存储过程的方法,白话就是可以调用存储过程,也就是可以有入参,有占位符。可以使用${}引入参数,也可以使用占位符引入参数。
    • Prepared Select Statement:预编译查询语句,与Select Statement相比效率更好,可以使用${}引入参数,可以使用占位符引入参数。
    • Prepared Update Statement:预编译更新语句,包括查询与插入,与Update Statement 效率更好,支持占位符引入参数。 可以使用${}引入参数,可以使用占位符引入参数。
    • Commit:当前连接状态中的内容提交,查询语句中的SQL在执行完成后马上提交,使用该项时JDBC Connection Configuration 中的 Auto commint 选项为False。可以使用${}引入参数,可以使用占位符引入参数。
    • Rollback:当前连接状态中的内容可回滚。可以使用${}引入参数,可以使用占位符引入参数。
    • Autocommit(false):指明不要自动提交,如果JDBC Connection Configuration 中的 Auto commint为true 覆盖该选项。可以使用${}引入参数,可以使用占位符引入参数。
    • Autocommit(true):指明允许自动提价。可以使用${}引入参数,可以使用占位符引入参数。
    • Edit :变量应用,引用的为上述的任意一个变量
  • SQL Query SQL查询语句,不需要输入行尾的分好

  • Parameter values:参数值,多个值用,分割

  • Parameter types:参数类型,INTEGER, DATE, VARCHAR, DOUBLE

  • Variable Names:SQL的执行语句往往返回的是一个数据集,我们可以把它保存的变量中,让后面的元件调用。

  • Result variable name :上面的 Variable Names中额变量是个数与队列对应的,Result variable name创建一个数组,保存所有返回的结果。

  • Query timeout:定义查查询时间

  • Handle result set:定义如何处理由callable- statements语句返回的结果

实例1 连接mysql数据库 ,并查询数据库的表

  • 连接mysql数据库,

    • 定义数据库连接池名称:MYSQL
    • URL:jdbc:mysql://rm-wz955w1jr2dnj6u9bo.mysql.rds.aliyuncs.com:3306/majiang
    • JDBC Driver class:com.mysql.jdbc.Driver
    • Username:
    • Password:

查询全部表 :

查询结果 :

实例2 对查询数据进行参数化

  • 使用${}引入参数 用户自定义的变量添加用户昵称变量nickname

  • 查询语句中使用通过${nickanme}引入变量, 注意加括号,不然报错

 

  • 通过占位符?引入变量 Parameter values:hunan%, 9586 Parameter types:VARCHAR,INTEGER 查询语句
select Nike, id, unionid, openid from user where Nike like ?  and openid=?

实例3 、引用返回的的结果

  • 通过设置Variable Names来保存变量 查询语句
select Nike, id, unionid, openid from user where Nike like ?      and openid<?

我们的查询语句中指定了4个返回的值,也就是说会返回4个列。在Variable Names 设置A,B,C,DA保存第一列的数据,B保存第二列的数据以此类推。那么如下变量会被设置为。

A_#=2 (总行数)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (总行数)
C_1=第3列, 第1行
C_2=第3列, 第2行

如果返回结果为0,那么A_#C_#会被设置为0,其它变量不会设置值。如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。可以使用可以使用${A_#}, ${A_1}...来获取相应的值

使用Beanshell Sampler 输出结果:

日志结果:

请求返回的结果:

  • 通过Result variable name保存结果,Result variable name会将返回的结果保存为数组,通过vars.getObject("result").get(0).get("Nike")获取值

输出语句:

执行结果:

  • 在http元件中使用结果,通过函数__jexl3()执行vars.getObject("result").get(0).get("Nike")

jmeter连接数据库操作的更多相关文章

  1. Jmeter连接数据库并使用数据表数据作为接口所需参数

    jmeter连接数据库,并且使用数据库的用户名密码进行登录操作,具体步骤如下: 1.参考博客<Jmeter连接SqlServer数据库并操作>进行相关内容的补充,修改JDBC Reques ...

  2. 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)

    目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...

  3. Jmeter接口测试操作

    一.Jmeter接口测试操作步骤 1. 启动jmeter,右键点击测试计划-->添加-->Threads(Users)-->线程组,点击线程组菜单,右边显示参数设置. 2 . 右键点 ...

  4. 学习笔记-JDBC连接数据库操作的步骤

    前言 这里我就以JDBC连接数据库操作查询的步骤作以演示,有不到之处敬请批评指正! 一.jdbc连接简要步骤 1.加载驱动器. 2.创建connection对象. 3.创建Statement对象. 4 ...

  5. jmeter分布式操作-远程启动功能探索

    一.背景: 之前在Jmeter插件监控服务器性能一篇中说到,在非GUI环境中监控时为了保存监控数据需要修改jmeter脚本,并且每次通过施压机(远程服务器,非GUI环境)来压测时都要将jmeter脚本 ...

  6. 基础的jdbc连接数据库操作

    首先我们知道在数据库中,我们可以直接写sql或者直接通过数据库工具操作数据,但是在java程序中我们是不能直接操作数据库数据的,所以这就引入了jdbc操作. 百度百科:JDBC(Java Data B ...

  7. JDBC连接数据库操作

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  8. JMeter数据库操作详解

    Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询,同时可以操作一次向数据库插入上百条上千条数据. 一.安装驱动包 将需要连接JDBC的jar包放入j ...

  9. jmeter 连接数据库测试笔记

    JDBC 常用mysql和oracal的jar包下载地址.jdbc driver class配置参考我的博客https://www.cnblogs.com/jackzz/p/9998975.html ...

随机推荐

  1. Qt4与Qt3的主要不同

    Qt4与Qt3的主要不同 1)QT4 中提供了大量新控件,虽然它也保持了旧的控件,并命名为Qt3XXX,但是这样的控件没准在今后的哪个QT版本中就不被支持了,所以还是换吧,控件替换的 工作是巨大的,这 ...

  2. webstorm一键格式化为Eslint标准

  3. C\C++串口通信编程的一点技术记录

    新工作接的第一个活,要写一个配合设备调试的上位机程序. 除了MFC界面的部分,就是要处理几条命令. 串口通信部分代码借鉴的是这一篇文章:http://blog.sina.com.cn/s/blog_a ...

  4. 记一次手工清除挖矿病毒WannaMine V4.0的经历

    [作者:byeyear    邮箱:byeyear@hotmail.com    转载请注明] 前两天公司信息安全处通知我的计算机存在永恒之蓝漏洞并已被病毒感染,使用多方杀软及专杀工具均无法有效清除, ...

  5. Visio图表应用

    两种方式创建 插入图表之后通过设计面板的更改图表类型进行更改 双击图表进入编辑状态. 组合其中组合图的利用 下面是图表编辑操作: 双击进入图表之后下方会有“Chart1”跟“Sheet1”两个板块 而 ...

  6. Mybatis入门案例中设计模式的简单分析

    Talk is cheap, show me the code! public class TestMybatis { public static void main(String[] args) t ...

  7. ELK学习实验005:beats的一些工具介绍

    一 背景需求 Nginx是一个非常优秀的web服务器,往往Nginx服务会作为项目的访问入口,那么,nginx的性能保障就会变得非常重要,如果nginx的运行出现了问题就会对项目有较大的影响,所以,我 ...

  8. DEVOPS技术实践_11:Jenkins集成Sonar

    前言 前面已经有介绍sonar的安装,简单应用,下面在简答的研究一下sonar和jenkins集成的简单使用,对于sonar的安装不做介绍 一 sonar的简单介绍 持续检查避免了低质量的代码,比如S ...

  9. PAC 代理自动发现简介

    一 简介 1.1 什么是PAC文件 代理自动配置(PAC)文件包含一组用javaScript编码的规则,允许web浏览器确定是将Web流量直接发送到Internet还是通过代理服务器发送        ...

  10. tomcat启动慢问题

    sed -i 's/securerandom\.source\=file\:\/dev\/random/securerandom\.source\=file\:\/dev\/urandom/g' $J ...