1、下载驱动
没驱动会报错:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
在选择驱动前,需要下载mysql-connector-java-5.1.7-bin.jar插件包,把插件包放置Jmeter\lib\ext文件夹下,重启jmeter
(MySQL数据库的JDBC驱动包下载地址:https://downloads.mysql.com/archives/c-j/)
其中ip是指数据库所在的服务器的IP,端口号为连接数据库的;?用于连接参数,参数可有可无,常见参数可到MySQL官网查看,如https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html
mysql版本8 与 mysql版本5.7 jar有差异吗?
- 现在企业中,用的mysql数据库,一般都是 mysql5 和mysql8 5的版本,一般都是5.7.x
- mysql5的版本,jar包,可以选择大于等于你数据库版本的任意jar包。 mysql: com.mysql.jdbc.Driver
- mysql8版本,那么你选择的jar包,要大于等于你版本号,一般情况,选择版本号相同的 mysql8是手写:com.mysql.cj.jdbc.Driver
- mysql8与mysql5的驱动class不一样
2、JDBC Connection Configuration连接数据库
多个线程组共用一个数据库时,可以放setUp线程组中
JDBC Connection Configuration连接数据库,JDBC Request从变量里获取连接数据库的权限,然后对数据库进行操作。
Variable Name for created pool 必填-通过这个变量进行关联JDBC Request, 自定义一个线程池变量名
Database URL(数据库连接地址) 必填
JDBC Driver class 必填-不同数据库需要的驱动不一样,因项目用的是MySQL数据库,所以JDBC Driver class选择驱动为:com.mysql.jdbc.Driver mysql8是手写:com.mysql.cj.jdbc.Driver
Username 必填
Password 必填
3、JDBC Request
一定要与JDBC Connection Configuration中配置的连接池名称(Variable Name for created pool )要一致提供的查询类型有8种,这里介绍常用的3个:
- Select statement -- 查询语句类型;如果JDBC Request中的Query内容为一条查询语句,则选择这种类型。PS:如果该类型下写入多条语句,只执行第一条select语句。
- Update statement -- 更新语句类型(包含insert和update);如果JDBC Request中的Query内容为一条更新语句,则选择这种类型。PS:如果该类型下写入多条update语句,依然只执行第一条。删除操作本质上是更新操作,insert操作本质是update操作
-
Callable statement:可调用语句类型,可以执行多条SQL语句。添加jdbc取样器,Query Type选Callable statement,添加多个语句 -- 注意,多条语句时,要用分号分隔语句!!!并且配置JDBC Connection configuration元件,只须在Database URL末尾加上?allowMultiQueries=true
jmeter中,写sql可以不写封号, 不要想着在一个sql query中写多个sql,要写多个sql就用多个jdbc request。 默认也是不支持一个sql query中写多个sql
prepared select statement 、 prepared update statement带有 prepared开头,是脚本中,可以带有参数
sql中带参数的写法: 两种
- 直接在sql中,进行变量引用 ${var} 但是不推荐
- 用 ? 变量占位符 ====推荐
4、sql查询多个字段,只取其中两个的写法,如下,数量对应,位置对应,其他用逗号占位
5、在查询SQL语句中,发现查询结果是中文的时候Jmter无法显示
解决方法:这时候我们可以在 JDBC Connection Configuration 的 Database URL 我们填写的数据库信息后面添加一串:?useUnicode=true&characterEncoding=utf8
。
6、分页-limit ${pagesize*pagenum+1},10--limit 10 OFFSET ${pagesize*pagenum}
方法一:
SELECT id FROM cb_account order by id limit 1,10;
SELECT id FROM cb_account order by id limit 11,10;
SELECT id FROM cb_account order by id limit 21,10;
SELECT id FROM cb_account order by id limit ${pagesize*pagenum+1},10
方法二:
SELECT id FROM cb_account order by id limit 10
SELECT id FROM cb_account order by id limit 10 OFFSET 10
SELECT id FROM cb_account order by id limit 10 OFFSET 20
SELECT id FROM cb_account order by id limit 10 OFFSET pagesize*pagenum
标签:语句,10,JDBC,数据库,jdbc,mysql,Jmeter,id From: https://www.cnblogs.com/shishibuwan/p/17126241.html