---
Jmeter提供了JDBC連接的插件,通過執(zhí)行SQL語句的java API,實現(xiàn)對數(shù)據(jù)庫的訪問和查詢。本文將介紹jmeter中實現(xiàn)與數(shù)據(jù)庫連接和操作的主要操作步驟,前提條件是至少要會寫簡單的數(shù)據(jù)庫查詢語句。通過使用JDBC Request能夠向數(shù)據(jù)庫發(fā)送數(shù)據(jù)庫操作語句,它需要和JDBC Connect configuration配合一起使用。
一、安裝驅(qū)動
在http://dev.mysql.com/downloads/connector/j/上下載JDBC的驅(qū)動包,將jmeter-plugins-manager-0.10.jar包放入jmeter安裝文件的lib文件中。
二、配置JDBC Connection configuration
右鍵測試計劃→添加→配置元件→JDBC Connection configuration

·Variable Name:數(shù)據(jù)庫連接池的名稱,在使用JDBC Request時通過該連接池名稱進(jìn)行連接,因此在使用JDBC Request時輸入的連接池名稱要與JDBC Connection Configuration中的一致

Connection Pool Configuration中定義了基本配置,可以設(shè)置其為默認(rèn)值。主要需要關(guān)注的是Database Configuration中的配置
· Database URL:為數(shù)據(jù)庫的URL,jdbc:mysql://服務(wù)器地址:監(jiān)聽端口/數(shù)據(jù)庫名稱
· JDBC Driver class:JDBC驅(qū)動。一般為com.mysql.jdbc.Driver 或 ort.gjt.mm.mysql.Driver
· Username:數(shù)據(jù)庫的用戶名
· Password:數(shù)據(jù)庫密碼
三、使用JDBC Request
Variable Name:數(shù)據(jù)庫連接池的名稱
· Query Type:查詢類型。例如,使用select查詢時使用Select Statement,使用delete刪除表時使用Update Statement
· Query:在此可以使用數(shù)據(jù)庫操作語句
· Parameter Name:引用的參數(shù)值
· Parameter Type:引用參數(shù)值的類型
· Variable name:使用sql語句返回的變量名
· Result Variable name:定義一個參數(shù)的名稱用于保存sql查詢結(jié)果的返回值
· Query time:設(shè)置定時器時間
· Handle Result:參數(shù)保存時的保存類型

此時${emailN}存放的郵箱名為huangyuqi1994@gmail.com,由此結(jié)果得到

?四、參數(shù)化的使用方法
(一)Parameter Name
這類的用法和${email}的用法有異曲同工之處,此處使用占位符?來代替參數(shù)值,在Parameter Name中填入?yún)?shù)值,嚴(yán)格限制參數(shù)值的順序。而Parameter Type中填入的是相對應(yīng)的參數(shù)值類型

此時${emailN}傳遞的參數(shù)值填入auth_id=?中的占位符中,${idName}同理
?(二)Variable names
在Variable names中設(shè)置的變量名對應(yīng)代表了數(shù)據(jù)庫中相應(yīng)的列,利用逗號隔開,如A1代表第一列的所有內(nèi)容,A3代表第三列的所有內(nèi)容。若要取第一列第二行的內(nèi)容,則可以用A1_2表示;若要取得A1列的總行數(shù),則用A1_#表示,在外部引用該變量時可以直接利用${A1_2}獲取,此時取的是第一列第二行的內(nèi)容。

下面利用BeanShell來打印A3_1和A1_#的值,即取第三行第一列的值和取第一列的行數(shù)

通過查看控制臺得
