針對Mysql
jdbc:mysql://ip:3306/數據庫名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true(mysql用utf8,其他數據庫用utf-8)
allowMultiQueries=true指的是支持多行查詢
但是查詢出來的結果這樣只會顯示一條,而且是第一條的結果被顯示,那要怎么解決呢?(實際上是兩條都執行了,只是Jmeter沒顯示,可以用兩條insert語句去驗證)
Query Type:選擇Callable Statement,調取數據存儲
二、查詢的值作為參數
可以查看下查出來的結果集:
那么,怎么把這些值取出來呢???
1、假設只要一個值,那么直接取好了,比如:${bug_status_1}就好了
2、如果要批量取值怎么辦???依次取出來
此處的結束值可以試試填寫:${bug_status_#}
這里不要誤解了,沒找到好的截圖,參數應該換為${temp}
2方式:計數器
那么請求里面應該怎么寫呢???不能變量里加變量吧,用函數助手來解決,這里我們可以用:
${__V(bug_status_${tmpid},)}
bug_status_1是數據庫查出來的,作為參數的參數名,tmpid是計數器用來替代那個1的參數。
但是這樣,只能在線程組內加循環或者線程組,才能執行多次,這樣數據庫的查詢請求也會多次,解決方案:把查詢請求放進一個吞吐量控制器:
或者,把這個請求放進一個僅一次控制器內
結果: