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類組件講解完成!!!!!