jmeter之JDBC類組件

~什麼是JDBC?:全稱名為Java DataBase Connectivity,(java資料庫連接),在jmeter中是一種可以遠程操作資料庫的一類組件。

~jmeter如何操作資料庫?:jmeter是一款java應用,一般都是通過JDBC方式來實現;

  *準備工作:jmeter操作資料庫需要JDBC驅動包,但下載的jmeter本身沒有提供任何的JDBC驅動包,需要另外下載。

  *JDBC獲取途徑:可以找開發,可以去官網下載(地址://dev.mysql.com/downloads/connector/j/),需要注意的是,如果你是做性能測試的,JDBC的驅動包版本一定要下對,否則性能的瓶頸原因可能就出現版本號不一致上。如果是自動化,下載的驅動包版本比你資料庫版本高即可,低於的話可能會導致連接報錯。

  *如何安裝驅動包?請查看該篇文章://www.cnblogs.com/FBGG/p/11758565.html

 

~jmeter中和數據操作有關的組件幾個?他們的作用是什麼?:四個,作用如下

  *JDBC Connection Configuration:(JDBC連接配置)組件,屬於必選組件。當需要連接多個庫時,可以添加多個。添加路徑(配置元件)>(JBDC Connection Configuration)

  *JDBC Request:(JDBC請求),用於輸入sql數據操作資料庫。路徑(執行緒組)(取樣器)>(JDBC Request)

  *JDBC PreProcessor:(JDBC預處理器),功能與JDBC Request類似,只不過這是在運行請求之前執行。路徑(前置處理器)>(JDBC PreProcessor)

  *JDBC PostProcessor:(JDBC後處理器),功能與JDBC Request類似,只不過這是在運行請求之後執行。路徑(後置處理器)>(JDBC PostProcessor)

 

~JDBC Connection Configuration 配置講解?: 添加路徑(配置元件)>(JBDC Connection Configuration)

  *Variable Name:(變數名稱),用來存儲連接配置資訊,後續的JDBC請求,JDBC前、後置處理器都需要用到。建議格式(庫名_主機ip:TestJdbc_192)

  *connestion Pool Configuration:(連接池配置),這塊資訊之和性能測試有關,一般不用操作,在此不作深度解析。

  *connestion Validation by pool:(連接池驗證),有用的只有Validation Query(驗證查詢),這個直接選,一般mysql就選select 1

  *JDBC Connection Configuration:(JDBC連接配置)資訊(重點)

    *Database URL:資料庫的URL地址,不同類型的資料庫JDBC的URL寫法是不一樣的。可以從官網查看每個不同資料庫的配置方法

 

 

分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    *JDBC Driver class:JDBC驅動類的路徑。不同資料庫的驅動類不一樣,需要根據自身情況選擇。這個路徑從哪裡來呢?請看下圖

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *Username:用戶名。資料庫的用戶名,這個不多說了,複製粘貼就行

  *Password:密碼。資料庫的密碼。,這個不多說了,複製粘貼就行

 

 

 

 

~JDBC Request  配置講解:路徑(執行緒組)(取樣器)>(JDBC Request)

   *Variable Name……:該處填寫的是在JBDC Connection Configuration 中所定義的變數名稱,表示使用對應的JDBC 資料庫連接配置。(因為JBDC Connection Configuration可以是多個,想連哪個就使用哪個變數名)

  *Query Type:請求類型,要求實際執行的SQL和所選的Query Type(請求類型)一致。可選的值和描述如下

    *Select statement:select類型,對應可執行的SQL關鍵字有(select),也就是只能使用這些關鍵字進行操作資料庫

    *Updata Statement:updata類型,對應可執行的SQL關鍵字有(create、drop、alter:針對錶結構調整)(install、delet、updata:針對錶數據調整),也就是只能使用這些關鍵字進行操作資料庫

    *Callable Statement:Callable類型,支援所有的關鍵字,主要用於存儲過程的調用。對應可執行的關鍵字有,可以認為是call,所有。也就是所有類型的sql語句都支援

    *Prepared Select statement:前置select類型,又叫批量select類型。對應可執行的SQL關鍵字和Select statement完成一樣。

    *Prepared updata statement:前置select類型,又叫批量updata類型。對應可執行的SQL關鍵字和Updata statement完成一樣。

    PS:(Prepared Select statement)和(Prepared updata statement)屬於Prepared類型,支援在sql語句中通過問號?來實現參數的佔位和傳遞。該功能可以節約資料庫的性能資源。主要用作性能測試,非性能測試不必要用。Prepared類型需要用到下方的兩個屬性來實現,請看截圖描述

      *Parameter values:參數值。s代表可以填寫多個;參數值的個數,類型要求和sql語句中的問號所在的值保持一致;參數值之間使用逗號進行分隔。

      *Parameter types:參數類型。s代表可以填寫多個;參數類型的個數、類型值要求與參數保持一致;假如參數值是數字類型,則參數類型就為int,假如是字元串,則參數類型就為float;參數類型之間也是用逗號進行分隔。

 

*Variable names:變數名稱s。

  *該處的變數名稱由用戶自定義,建議用有意義命名格式。

  *如s所表示,變數名可以有多個,使用逗號進行分隔。

  *所定義的變數是用來存儲查詢結果的。

  *每一個變數對應的查詢結果的一列值,按照變數名順序一一對應;即N個查詢結果對應N個變數名,注意是按列來對應,一個變數存一列值,也就是如果你查詢的結果中返回的有兩個列,id和name,那你的變數名需要寫兩個來對應,一個存儲id列的所有值,一個存儲name列的所有值。可以看截圖腦補

  *值的存儲是採用類似於數組的方式來實現。如列變數_1,列變數_2……列變數_N。

 

圖片分隔線~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~· 

 

 

到此,JDBC類組件講解完成!!!!!

 

Tags: