JMeter数据库操作详解
Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询,同时可以操作一次向数据库插入上百条上千条数据。
一、安装驱动包
将需要连接JDBC的jar包放入jmeter安装文件的lib文件中(也可测试计划中的导入)
二、配置JDBC Connection configuration
右键线程组→添加→配置元件→JDBC Connection configuration


特别需要注意的是Validation Query:针对mysql为默认填写Select1,但对于oracle来说:Select1 from dual
Variable Name:数据库连接池的名称,在使用JDBC Request时通过该连接池名称进行连接,因此在使用JDBC Request时输入的连接池名称要与JDBC Connection Configuration中的一致。
Connection Pool Configuration中定义了基本配置,可以设置其为默认值。主要需要关注的是Database Configuration中的配置:
Database URL:为数据库的URL,jdbc:mysql://服务器地址:监听端口/数据库名称
JDBC Driver class:JDBC驱动。一般为com.mysql.jdbc.Driver 或 ort.gjt.mm.mysql.Driver
Username:数据库的用户名
Password:数据库密码
Variable Name:数据库连接池的名称;
Query Type:查询类型。例如,使用select查询时使用Select Statement,使用delete删除表时使用Update Statement;
Query:在此可以使用数据库操作语句
Parameter Name:引用的参数值
Parameter Type:引用参数值的类型
Variable name:使用sql语句返回的变量名
Result Variable name:定义一个参数的名称用于保存sql查询结果的返回值
Query time:设置定时器时间
Handle Result:参数保存时的保存类型

四、参数化的使用方法
方式一:使用${变量名},例如:select * from table1 where pwd=${password};
变量password可以通过用户自定义变量中设置,或者通过其他响应报文中提取出来的值
方式二:使用Parameter Name
使用占位符?来代替参数值,在Parameter Name中填入参数值,严格限制参数值的顺序。而Parameter Type中填入的是相对应的参数值类型

方式三:使用Variable names
在Variable names中设置的变量名对应代表了数据库中相应的列,利用逗号隔开,如A1代表第一列的所有内容,A3代表第三列的所有内容。若要取第一列第二行的内容,则可以用A1_2表示;
若要取得A1列的总行数,则用A1_#表示,在外部引用该变量时可以直接利用${A1_2}获取,此时取的是第一列第二行的内容。

下面利用BeanShell来打印A3_1和A1_#的值,即取第三行第一列的值和取第一列的行数

通过查看控制台得:
遇到的问题
附:数据库连接driverClass和jdbcUrl大全
一、Mysql:
driverClass:com.mysql.jdbc.Driver
org.gjt.mm.mysql.Driver
jdbcUrl:jdbc:mysql://192.168.0.1:3306/yourDBName
二、oracle
(thin模式)
driverClass:oracle.jdbc.driver.OracleDriver
jdbcUrl:jdbc:oracle:thin:@192.168.0.1:1521:yourDBName
三、SQL Server:
driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver(2005版本及以后)
com.microsoft.jdbc.sqlserver.SQLServerDriver(2000版本)
jdbcUrl:jdbc:sqlserver://192.168.0.1:1433;databasename=yourDBName
四、Sybase:
driverClass:com.sybase.jdbc3.jdbc.SybDriver
com.sysbase.jdbc.SybDriver
jdbcUrl:jdbc:sybase:Tds:127.0.0.1:5007/myDB
五、DB2:
1、db2java.zip
driverClass:COM.ibm.db2.jdbc.NET.DB2Driver
jdbcUrl:jdbc:db2://127.0.0.1:5000/DBNAME
2、db2jcc.jar
driverClass:com.ibm.db2.jcc.DB2DriverjdbcUrl:jdbc:db2://127.0.0.1:5000/DBNAME
3、driverClass:com.ibm.db2.jdbc.app.DB2DriverjdbcUrl:jdbc:db2://127.0.0.1:5000/yourDBName
JMeter数据库操作详解的更多相关文章
- windows phone 8.1开发SQlite数据库操作详解
原文出自:http://www.bcmeng.com/windows-phone-sqlite1/ 本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本 ...
- android 数据库操作详解
请看郭大神的八篇专栏,包含sql语句 android封装的databasehelper 和郭大神自己的LitePal 三种使用详解 http://blog.csdn.net/column/deta ...
- yii2 数据库操作详解(转载)
开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.php),DSN( Data Source Name ...
- JDBC连接mysql数据库操作详解
1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- django 数据库操作详解
Django配置使用mysql数据库 修改 settings.py 中的 DATABASES 注意:django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建. DATABASES ...
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
public function getMinLimit () { $sql = "..."; $result = yii::app()->db-& ...
- Yii 框架里数据库操作详解
增:1 第一种 $post=new Post; $post->title='sample post'; $post->content='content for the sample pos ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- SAE上传web应用(包括使用数据库)教程详解及问题解惑
转自:http://blog.csdn.net/baiyuliang2013/article/details/24725995 SAE上传web应用(包括使用数据库)教程详解及问题解惑: 最近由于工作 ...
随机推荐
- ctrl+z 以后怎么恢复挂起的进程
(1) CTRL+Z挂起进程并放入后台 (2) jobs 显示当前暂停的进程 (3) bg %N 使第N个任务在后台运行(%前有空格) (4) fg %N 使第N个任务在前台运行 默认bg,fg不带% ...
- Numpy入门 - 数组聚合运算
本节主要讲解numpy的几个常用的聚合运算,包括求和sum.求平均mean和求方差var. 一.求和sum import numpy as np arr = np.array([[1, 2, 3], ...
- 实践作业1:测试管理工具实践 Day2
1.尝试配置TestLink所需环境 安装配置php+apache+mysql时遇到一系列稀奇古怪的错误. 2.百度之后发现有可行的替代工具:Vertrigoserv(VertrigoServ是一个W ...
- 蓝桥杯 密码脱落 LCS
9. 密码脱落(后来题目说是有问题,测试用例不会有E出现) X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后 ...
- node.js爬虫
这是一个简单的node.js爬虫项目,麻雀虽小五脏俱全. 本项目主要包含一下技术: 发送http抓取页面(http).分析页面(cheerio).中文乱码处理(bufferhelper).异步并发流程 ...
- Java读取打印机自定义纸张.
打印出现截断? 对于自定义纸张打印, 一定要先在打印机配置那边添加, 不然会出现截断. 例如打印1000*500, 出来是正常的, 打印216*139, 出现了截断. 因为java默认的打印, 会从打 ...
- Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)
※效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2xvbmd4aW4yNA==/font/5a6L5L2T/fontsize/400/fil ...
- 【Jquery】prop与attr的差别
近期因项目须要用到复选框,当中一个控制全选. // 全选 $(".ckb_all").click(function(){ if($(this).attr("checked ...
- TP3.2.3 接入银联支付
TP3.2.3 接入银联支付 项目接入银联支付的过程, 在此记录下,希望能帮助开发盆友平坑. 银联SKD链接:https://open.unionpay.com/ajweb/product/newPr ...
- Linux查看系统信息(CentOS 7中测试通过)
以下命令运载CentOS7中测试通过 Linux查看服务器系统信息 CentOS版本 [root@blog ~]# cat /etc/os-release NAME="CentOS Linu ...