參數化之從數據庫提取數據元件詳細解析(十)

1)“配置元件”->“JDBC Connection Configuration”

精簡版:

Variable Name:連接池名稱

Database URL:jdbc:mysql://host:port/db(jdbc:mysql://ip地址:端口號/數據庫名稱)

JDBC Driver class:com.mysql.jdbc.Driver

username:連接數據庫的用戶名(如root)

password:連接數據庫的密碼

 

詳細版:

1.Variable Name:數據庫的類型;

2.MaxNumber of Connection: 數據庫最大鏈接數;

3.Max Wait(ms):連接等待時長;

4.Time Between Eviction Runs(ms):連接時長;

5.Auto Commet:自動提交;

6.Transaction Isolation: 事務間隔級別設置;

    (1)TRANSACTION_NODE  事務節點 、

    (2)TRANSACTION_READ_UNCOMMITTED事務未提交讀、

    (3)TRANSACTION_READ_COMMITTED事務已提交讀 、

    (4)TRANSACTION_SERIALIZABLE事務序列化 、

    (5)DEFAULT默認、

    (6)TRANSACTION_REPEATABLE_READ事務重複讀、

7.test while idle :連接空閒時是否從連接池中去除;

8.soft min Evictable idle time(ms):檢驗時間間隔;

9.Validation Query:驗證查詢,檢驗連接是否有效(不同數據庫類型不同);

10.JDBCDriver Class: JDBC的類,如org.gjt.mm.mysql.Driver ;

11.Usename,password :用戶名密碼;

12.Database URL:數據庫地址(格式:

jdbc:mysql://ipaddress:3306/dbname?characterEncoding=utf-8&autoReconnect=true&rewriteBatchedStatements=true&socketTimeout=30000&connectTimeout=3000)

 

2) “Sampler”->“JDBC Request”

1)Variable Name:連接池名稱

注意:該值要和JDBC Connection Configuration中配置的Variable Name值對應,否則會提示:No pool found named: 'pool12', ensure Variable Name matches Variable Name of JDBC Connection Configuration;

 

2)Query Type:默認爲Select Statement

含變量的sql查詢,選擇Prepared Select Statement

      a)傳遞的參數值是常量,如圖傳遞2個變量多個變量使用分隔這裏假如你有數據是int類型的,也要在Parameter types 那裏標示爲varchar類型,否則無法運行。

     b)傳遞的參數值是變量,使用${變量名}的方式

    C) sql語句是insert 語句,用Callabs Statement

3)Query:輸入sql語句,注意不要加分號

4)Parameter types:變量的類型varchar,如果是int類型,也要寫成varchar

5)Variable names:保存查詢結果,供後續接口調用,注意調用時加“_1”

 jmeter官網給的解釋是:如果給這個參數設置了值,它會保存sql語句返回的數據返回數據的總行數。假如,sql語句返回2行,3列,且variables names設置爲A,,C,那麼如下變量會被設置爲:

  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}...來獲取相應的值

解析:

  column1代表第一列所有的數據,column1_#可以獲取到第一列的行數

  column1_n:獲得第一列第n行的數據。

  column2column3的功能類似, 假如我們只需要第一列和第三列的數據,可以寫成column1,,column3,中間的","不可以省略

 

6)Result Varialbe name:

如果給這個參數設置值,它會創建一個對象變量,保存所有返回的結果,獲取具體值的方法:columnValue = vars.getObject("resultObject").get(0).get("Column Name")

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章