下载mysql的jar,添加至jmeter中,编写jdbc协议脚本1106

news2024/11/25 4:26:41

下载jar包:

步骤1:进入maven仓库官网https://mvnrepository.com/

步骤2:搜索实际的数据库

步骤3:点击 Mysql connnector/J

步骤5、查看数据库的版本号,选择具体版本,我的是mysql 8.0.16,下图,点击对应版本号进入下载

步骤6:点击如图jar位置,下载

步骤7:jar下载至本地,将mysql-connector-j-8.0.31.jar 拷贝至:Jmeter的这个目录:E:\apache-jmeter-5.4.1\lib

现在就可以写jdbc请求。、

步骤8:启动jmeter.bat,测试计划-线程组-添加取样器-jdbc request

步骤9:编写jdbc协议脚本

(1)线程组-添加-配置元件-JDBC Request

配置信息:

Database URL:jdbc:mysql://主机Ip:端口号/数据库名  jdbc:mysql://1198.0201:3306/testdb

# JDBC Driver Class 

根据数据库版本配置  mysql 8.0版本,进行编辑,添加com.mysql.cj.jdbc.Driver

根据数据库版本  mysql 5.0版本,下拉框选择:om.mysql.jdbc.Driver

Username数据库用户名
Password数据库密码

Variable Name for created pool自定义连接池名称,字母下划线,这里取名后,请求中要使用

(2)线程组-添加-取样器-JDBC Request

(3)编写jdbc协议脚本, 填写 Sql语句和 JDBC Conection Configuration名称,与步骤1配置元件的Variable Name for created pool连接池名称一致

步骤10:实现翻页功能:

(1)

(2)

(3)sql:SELECT * from book_comment limit 10 offset ${d}

第二页就是5为显示数据条数: offset 5   1*5  就是第二页   2*5 就是第三页 0ffset 10

SELECT * from book_comment limit 10 offset 5  #查询出第二页数据

查询10条数据,翻页功能,这里的计数器应该为递增10

注意:在JDBC Request不要写多个sql语句,默认也不支持多个sql

步骤11:sql中带参数变量

JDBC Request,

sql中带参数的写法:

1、直接sql中,进行变量引用,不推荐,容易SQL注入,有安全漏洞,并有可能报错

sql:SELECT * from book_comment limit 10 offset ${d}

2、Qury Type 选择prepared select statement,这种是在脚本中,可以带有参数 使用

变量占位符 ,推荐

单个参数的写法:

多个参数的写法:多个变量时,参数value和type使用,逗号隔开,一一对应

SELECT * from book_comment WHERE book_id=? and testconnte=? #sql

步骤12:使用 Variable names 接收数据库返回值:获取数据库数据

方式1:

使用场景登录:使用不同的用户名

s

(1)线程组-添加-取样器-JDBC Request  ,填写连接池、sql语句

(2)Variable names:ids,comment_content 接收数据库查询返回回来的Id,内容,多个变量使用逗号隔开:

数据返回的规律:变量名后加_1 如图 ids_1=11,ids_2=12

(2)使用foreach控制器,循环的使用数据库返回的需要值,进行使用变量

方式:线程组-添加-逻辑控制器-ForEach控制器

输入变量前缀:contents ,为jdbc request的Variable names取的名称

输出变量名称:自定义 content

(3)调用:可以在请求中消息体中参数调用,${content}

方式2:使用循环控制器,拼接函数拼接,缺点就是需要记录循环次数,优点就是可以同时取到数据库的两个值

(1)添加循环控制器

(2)添加计数器:

(3)使用拼接函数使用:

${__V(ids_${number},)}

${__V(contents_${number},)}

(4)调试取样器,ID:${__V(ids_${number})} 内容:${__V(contents_${number},)}

http请求消息体使用:

{id="${__V(ids_${number})}",comment_content="${__V(contents_${number},)}"

步骤13:使用Result variable name 接收数据库返回值

(1)jdbc请求:

Result variable name:varidsList,来接收从数据库查询返回回来2个id

(2)添加正则表达式

添加-后置处理器-正则表达式提取器,注意apply to 勾选 添加变量值

id=(.*?)}

正则表达式如果是数字:

id=(\d+)}

(3):ForEach控制器

4、引用值:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 数据库(MySql、MongoDB)

介绍 [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用 github地址:https://github.com/dotnetcore/CAP官网地址: https://cap.dotnetcore.xyz/官网文档:https://cap.dotnetcore.xyz/userguide/zh/cap/id…

嘉吉连续第七年亮相进博会

以“新质绿动,共赢未来”为主题,嘉吉连续第七年亮相进博会舞台。嘉吉带来了超过120款产品与解决方案,展示嘉吉在农业、食品、金融和工业等领域以客户为中心的创新成果。这些产品融合了嘉吉在相关领域的前瞻性思考,以及对本土市场的…

低代码工作流平台概述-自研

讲解视频可看【【低代码】【企业级】【毕设】一键生成web应用,最强最便捷简单的低代码工作流平台-哔哩哔哩】 【低代码】【企业级】【毕设】一键生成web应用,最强最便捷简单的低代码工作流平台_哔哩哔哩_bilibili 1.在线设计数据库 2.表单设计 3.流程设…

vue3+vite 前端打包不缓存配置

最近遇到前端部署后浏览器得清缓存才能出现最新页面效果得问题 所以…按以下方式配置完打包就没啥问题了,原理很简单就是加个时间戳 /* eslint-disable no-undef */ import {defineConfig, loadEnv} from vite import path from path import createVitePlugins from…

【C++滑动窗口】1297. 子串的最大出现次数|1748

本文涉及的基础知识点 C算法:滑动窗口及双指针总结 固定长度滑动窗口 LeetCode1297. 子串的最大出现次数 给你一个字符串 s ,请你返回满足以下条件且出现次数最大的 任意 子串的出现次数: 子串中不同字母的数目必须小于等于 maxLetters 。…

【Vue】简易博客项目跟做

项目框架搭建 1.使用vue create快速搭建vue项目 2.使用VC Code打开新生成的项目 端口号简单配置 修改vue.config.js文件,内容修改如下 所需库安装 npm install vue-resource --save --no-fund npm install vue-router3 --save --no-fund npm install axios --save …

机器人助力Bridge Champ游戏:1.4.2版本如何提升玩家体验

在Bridge Champ游戏中,机器人扮演着桥牌游戏的“无名英雄”角色,默默地提升玩家体验。凭借智能化的设计,这些机器人不仅能够陪练,也大大提升了比赛的流畅度与趣味性。 Bridge Champ是什么 Bridge Champ是一个基于Ignis公链的在线…

U-Mail反垃圾邮件网关精准拦截各种垃圾病毒邮件

在当今数字化时代,电子邮件已成为企业沟通不可或缺的一部分。然而,其开放性也使得电子邮件系统容易受到垃圾邮件和恶意软件的侵袭。根据最新数据,2024年第二季度,国内企业邮箱用户共收到9.1亿封垃圾邮件,这一数字比上一…

Docker可视化管理面板DPanel的安装

本文软件由网友 rui 推荐; 什么是 DPanel ? DPanel 是一款 Docker 可视化管理面板,旨在简化 Docker 容器、镜像和文件的管理。它提供了一系列功能,使用户能够更轻松地管理和部署 Docker 环境。 软件特点: 可视化管理&…

Java——final用法

一、final 介绍 在Java中,final关键字有多种用途,可以用来修饰变量、方法和类。它的主要作用是确保所修饰的内容不可改变。 二、final 用法 1、修饰变量 1)局部变量 当一个局部变量被声明为final时,它的值在初始化后就不能被…

科技改变生活:最新智能开关、调光器及插座产品亮相

根据QYResearch调研团队的最新力作《欧洲开关、调光器和插座市场报告2023-2029》显示,预计到2029年,欧洲开关、调光器和插座市场的规模将攀升至57.8亿美元,并且在接下来的几年里,将以4.2%的复合年增长率(CAGR&#xff…

走进算法大门---双指针问题(一)

一.双指针算法介绍 概念:双指针是指在遍历数据结构(如数组、链表等)时使用两个指针,通过特定的移动规则来解决问题。这两个指针可以同向移动,也可以相向移动。 同向双指针:常用于解决需要两个位置信息的问…

用 Python 从零开始创建神经网络(一)

用 Python 从零开始创建神经网络(一) 引言1. A Single Neuron:Example 1代码部分: Example 2代码部分: 2. A Layer of Neurons:Example 1代码部分: 引言 本教程专为那些对神经网络已有基础了解…

深度学习⑨GANs

Discriminative and Generative Models Deep learning中主要两种模型 判别模型专注于从输入预测输出,例如分类任务。学习数据点和标签之间的特征 生成模型则试图理解数据是如何产生的,能够生成新的数据样本。理解数据分布和是否可以被预测 Quiz time: Discriminative mo…

[产品管理-58]:安索夫矩阵矩阵帮助创业者确定研发出来的产品在市场中定位策略

目录 一、提出背景 二、核心思想与结构 三、应用背景与领域 四、实践案例 安索夫矩阵(Ansoff Matrix),也被称为产品/市场方格或成长矢量矩阵,其应用背景可以从以下几个方面进行详细阐述: 一、提出背景 安索夫矩阵…

物联网对商业领域的影响

互联网彻底改变了通信方式,并跨越了因地理障碍造成的人与人之间的鸿沟。然而,物联网(IoT)的引入通过使设备能够连接到互联网,改变了设备的功能。想象一下,你的闹钟连接到互联网,并且能够用你的声…

微信小程序——用户隐私保护指引填写(详细版)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

LED点阵显示(Proteus 与Keil uVision联合仿真)(点阵字模提取)

点阵字模提取: https://pan.baidu.com/s/1DZSeLyD_SUkaHRgTm26o-A 提取码: 1111 一、LED点阵显示器结构 点亮点阵中一个发光二极管条件:对应行为高电平,对应列为低电平。如在很短时间内依次点亮很多个发光二极管,LED点阵就可显示…

JDBC学习记录

文章目录 一、JDBC简介1.1、 JDBC概念1.2、 JDBC本质1.3、 JDBC好处 二、JDBC快速入门2.1、 编写代码步骤2.2、 代码示例 三、JDBC API详解3.1、DriverManager3.1.1、注册驱动3.1.2、获取连接 3.2、Connection3.2.1、获取执行对象3.2.2、事务管理 3.3、Statement3.3.1、执行DDL…

[Linux] 进程等待 | 进程替换

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 我有一个朋友&#x…