JMeter連接Mysql數(shù)據(jù)庫的實現(xiàn)步驟
JMeter連接mysql數(shù)據(jù)庫是很方便的,下面就演示一下具體的操作。
首先,在本地安裝好mysql服務(wù)器,建立庫和表,并準(zhǔn)備數(shù)據(jù)以供測試使用。
接下來,在【測試計劃】中添加JDBC驅(qū)動,即下載mysql-connector-bin.jar并添加到classpath中。如下圖所示:
當(dāng)然,如果將這個jar包直接放在JMeter安裝目錄的lib文件夾中,就無需在【測試計劃】中添加了。
當(dāng)上面的準(zhǔn)備工作完成后,就可以在線程組下添加一個【配置元件】–【JDBC Connection Configuration】
參數(shù)詳解:
名稱 | 描 述 | 必須 |
---|---|---|
Name | 腳本中顯示的這個元件的描述性名稱 | 是 |
Variable Name for created pool | 連接所綁定的變量名??梢詣?chuàng)建多個連接,每個連接綁定到不同的變量名,后續(xù)【JDBC Request】通過對應(yīng)variable name使用相應(yīng)的連接 | 是 |
Max Number of Connections | 連接池最大允許連接數(shù)。默認(rèn)設(shè)置為0,代表每個線程獲得自己的連接池。如果使用共享連接池,將其設(shè)置成與線程數(shù)相同即可 | 是 |
Max Wait (ms) | 超時時間。如果嘗試連接的過程超過了這個時間,則拋出異常并停止連接 | 是 |
Time Between Eviction Runs (ms) | 運行狀態(tài)下,空閑對象回收線程休眠時間。如果設(shè)為負(fù)數(shù),空閑對象回收線程將不會運行 | 是 |
Auto Commit | 自動提交開關(guān),true代表開啟 | 是 |
Transaction isolation | 事務(wù)隔離,一般使用默認(rèn)即可 | 是 |
Test While Idle | 當(dāng)連接空閑時是否進行測試 | 是 |
Soft Min Evictable Idle Time(ms) | 連接可以在池中處于空閑狀態(tài)的最短時間,超過這個時間的空閑連接才會被回收 | 是 |
Validation Query | 用于確定數(shù)據(jù)庫是否仍在響應(yīng)的簡單查詢 | 否 |
Database URL | 數(shù)據(jù)庫的JDBC連接串 | 是 |
Username | 數(shù)據(jù)庫連接的用戶名 | 是 |
Password | 數(shù)據(jù)庫連接的密碼 | 是 |
添加【JDBC Request】
最終腳本結(jié)構(gòu)完成,運行腳本,結(jié)果如下:
再看Debug Sampler中:
可以看到,sql查詢結(jié)果存儲在變量中,例如name的變量,name_#=3,表示sql語句name字段有3個結(jié)果,name_1、name_2、name_3,在腳本后續(xù)想使用這些值時用${variable name}引用,例如用${name_1}即可使用"Tom"這個值。
以上便是JMeter操作mysql數(shù)據(jù)庫的常規(guī)用法,已經(jīng)能滿足大部分使用情況,畢竟測試中一般只會進行查庫操作,很少寫庫。但有時候我們難免遇到一次性執(zhí)行多種類型sql語句(類似事務(wù))的場景,按照上文中的寫法,是實現(xiàn)不了的。
要實現(xiàn)這個功能,有兩種方案,首先看方案一。
【JDBC Connection Configuration】配置頁面,Database URL:jdbc:mysql://localhost:3306/hkkTest后添加?allowMultiQueries=true
【JDBC Request】的【Query Type】選擇Callable Statement,然后將多條sql語句按順序?qū)懞?,每條語句要以分號結(jié)尾。
運行后,查看結(jié)果:
再說方案二。
方案二使用的前提是,mysql服務(wù)器上已經(jīng)建好相應(yīng)的存儲過程并執(zhí)行,如下例:
delimiter $$; # 存儲過程后面必須有() CREATE PROCEDURE user_procedure() BEGIN UPDATE test.user SET age=24 WHERE name='Tom'; INSERT INTO test.user(id,name,age,address) VALUES(4,'Lucy',17,'Paris'); INSERT INTO test.user(id,name,age,address) VALUES(5,'Messi',32,'Barcelona'); DELETE FROM test.user WHERE name='Jack'; SELECT * FROM test.user; END $$; delimiter;
然后,【JDBC】中【Query Type】同樣選擇Callable Statement,sql語句只寫上調(diào)用存儲過程的語句即可。
運行腳本,查看結(jié)果,可以看到存儲過程已經(jīng)被執(zhí)行,數(shù)據(jù)庫數(shù)據(jù)被修改成功:
至此,JMeter操作mysql數(shù)據(jù)庫的部分完結(jié)。
到此這篇關(guān)于JMeter連接Mysql數(shù)據(jù)庫的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)JMeter連接Mysql 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
你所不知道的Spring的@Autowired實現(xiàn)細(xì)節(jié)分析
這篇文章主要介紹了你所不知道的Spring的@Autowired實現(xiàn)細(xì)節(jié)分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08基于Java?Agent的premain方式實現(xiàn)方法耗時監(jiān)控問題
javaagent是在JDK5之后提供的新特性,也可以叫java代理,這篇文章主要介紹了基于Java?Agent的premain方式實現(xiàn)方法耗時監(jiān)控問題,需要的朋友可以參考下2022-10-10springmvc4+hibernate4分頁查詢功能實現(xiàn)
本篇文章主要介紹了springmvc4+hibernate4分頁查詢功能實現(xiàn),Springmvc+hibernate成為現(xiàn)在很多人用的框架整合,有興趣的可以了解一下。2017-01-01spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解
這篇文章主要為大家介紹了spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06java調(diào)用通義千問API的詳細(xì)完整步驟
通義千問是阿里云自主研發(fā)的大語言模型,能夠在用戶自然語言輸入的基礎(chǔ)上,通過自然語言理解和語義分析,理解用戶意圖,在不同領(lǐng)域、任務(wù)內(nèi)為用戶提供服務(wù)和幫助,下面這篇文章主要給大家介紹了關(guān)于java調(diào)用通義千問API的詳細(xì)完整步驟,需要的朋友可以參考下2024-02-02Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動力節(jié)點之Java學(xué)院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動力節(jié)點之Java學(xué)院整理)的相關(guān)資料,包括創(chuàng)建和內(nèi)存分配,數(shù)組封裝后的使用等,需要的朋友參考下吧2017-04-04