针对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的参数。
但是这样,只能在线程组内加循环或者线程组,才能执行多次,这样数据库的查询请求也会多次,解决方案:把查询请求放进一个吞吐量控制器:
或者,把这个请求放进一个仅一次控制器内
结果: