高级性能测试系列《24. 通过jdbc执行sql脚本》

目录

  • 一、JDBC(JavaDataBaseConnectivity)

    • 1.jdbc:java调用数据库的。

    • 2.怎么找jar包?

    • 3.mysql版本8与mysql版本5.7的jar包有差异吗?

  • 二、写脚本

    • 1.添加配置元件--JDBC Connection Configuration

    • 2.jdbc request

  • 三、注意

一、JDBC(JavaDataBaseConnectivity):

  • 是一种用于执行SQL语句的JAVA API

  • 通过这个api可以直接执行sql脚本。

1.jdbc:java调用数据库的。

调用数据库时,需要使用jar包(jar包是java语言已经写好的底层的调用类),填写数据库的信息。

jmeter是用java开发的,可以直接执行java代码。

2.怎么找jar包?

某项目的数据库的版本是mysql5.7,所以选择版本号大于5.7的jar包就可以了。

访问服务maven的仓库地址:https://mvnrepository.com/,再搜索数据库。

找到你需要的版本,点击版本。Files--jar,下载这个jar包。

ee218948aeae9454db5b387a46899014.png

此时,就下载到本地了。

把下载的jar包,放到jmeter的lib文件夹中。

d3005501038d4364044dc5ed8d8cc8e4.png

重启jmeter,此时,就可以写jdbc请求了。

有这个jar包之后,jmeter可以发起jdbc请求,没有这个jar包,也有这个jdbc取样器,但是,不能发起请求。

jar包是个第三方

3.mysql版本8与mysql版本5.7的jar包有差异吗?

现在企业中,用的mysql数据库,一般都是mysql5.7以上版本和mysql8。

mysql5.7版本和mysql5.7以前的版本的性能不一样。

mysql5的版本:可以选择大于等于你的数据库版本的任意jar包。

mysql8版本:要选择大于等于你的数据库版本号,一般情况,选择版本号相同的jar包。

mysql8与mysql5的驱动class不一样。

二、写脚本

1.添加配置元件--JDBC Connection Configuration

填写数据库的:ipportdbnameuserpasswordpool、字符集 、驱动类.....。

variable name for created pool:自定义一个线程池变量名。

变量名命名规则:字母、数字、下划线。不能用数字开头。

database Connection Configuration数据库连接配置。

database URL: 填写数据库的ip、端口、dbname。但是,不同的数据库URL地址写法不一样。

mysql的url地址: jdbc:mysql://serverip:port/dbname

00fcbfa37945543d37f5f7981f0e4e82.png

mysql数据库默认端口:3306,某项目的数据库端口是:3337。

jdbc driver class:不同的数据库,这个驱动class不一样。

mysql5的驱动class(是选择的): com.mysql.jdbc.Driver。 只适用于mysql5版本

mysql8的驱动class(是手写的):com.mysql.cj.jdbc.Driver。兼容mysql5版本。

4f9a161fd20cfcc17bdfc96a8bf187cc.png

2.jdbc request

连接池:一定要与JDBC Connection Configuration中配置的连接池名称要一致。

429ae324308d3b6478c41f263345e6a0.png
sql query:

select * from cb_account limit 10

fb242c1c87e3599b0ace8f75c6b1ece2.png 61f591c3b9e83d0577d42f7d4a24bc96.png
运行结果

察看结果树在接收数据的过程中,是要消耗资源的,渲染也要消耗资源的。数据量比较大,时间就会比较长。

真正做性能测试的时候,能不加监听器就不加。

脚本链接:

链接:https://pan.baidu.com/s/1yb1Y-HeVG7QQboL5eeQkRQ?pwd=1234 提取码:1234

三、注意

5e205ae985225ff24388f4322a9a801b.png

单独一个s是一个变量,count()里面可以跟值,不能跟变量。所以,count()中可以写任意

ec6742de2063b9f6b5a4501f3c4315ab.png
图1:count("A"),运行成功。
c784c5cd2014be5217571cc6cc7ebef1.png
图2:count(99),运行成功。
88d3198cba02b53a1955d5b828f14607.png
图3:count(s)
48a15578d4372e93e2807c7bfa371e50.png
图3:运行失败。

文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值