JMeter测试关系数据库:JDBC连接
moboyou 2025-03-23 18:56 7 浏览
JDBC介绍
JDBC(Java DataBase Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
JDBC驱动类型及原理
使用JDBC连接操作数据库步骤
总共有7个步骤:
1.加载JDBC驱动程序
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机)。
通过java.lang.Class类的静态方法forName(String className)实现。
2.配置JDBC URL
格式为:
协议:子协议:数据源标识
● 协议: 在JDBC中始终为jdbc
● 子协议: 桥连接的驱动程序或是数据库管理系统名称,比如mysql数据源标识: 数据服务器主机名,端口以及数据库名,还可以附带连接参数比如,
jdbc:mysql://192.168.126.128:3306/ecshop?
useUnicode=true&characterEncoding=gbk
3.创建数据库连接
要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
使用DriverManager的getConnection(String url,String username,String password)方法传入指定的欲连接的数据库的路径,数据库的用户名和密码来获得。
4.创建Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
a.执行静态SQL语句。通常通过Statement实例实现。
b.执行动态SQL语句。通常通过PreparedStatement实例实现。
c.执行数据库存储过程。通常通过CallableStatement实例实现。
5.执行SQL
Statement接口提供了三种执行SQL语句的方法:
a.ResultSet executeQuery(String sqlString),执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象
b.int executeUpdate(String sqlString),用于执行DML,DDL语句
c.boolean execute(String sqlString),用于执行返回多个结果集,多个更新计数或二者组合的语句。
6.处理结果
两种情况:
a.执行更新返回的是本次操作影响到的记录数
b.执行查询返回的结果是一个ResultSet对象
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问
7.关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
a.关闭记录集
b.关闭声明
c.关闭连接对象
JDBC Connection Confifiguration配置
Variable Name Bound to Pool:
Variable Name for created pool:
连接绑定的变量名,JMeter可以使用多个连接,每个连接绑定到不同的变量;通过引用不同的绑定变量使用不同的数据库连接。
绑定变量名应与JDBC Request的引用连接的变量名保持一致。
Connection Pool Confifiguration:
1.Max Number of Connections:
该数据库连接池的最大连接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享
2.Max Wait(ms):
超时时间。连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。如果在尝试检索连接池中连接的过程中超过时限,则连接池会抛出错误。
3.Time Between Eviction Runs(ms):
空闲连接回收的时间间隔。如果当前连接池中某个连接的空闲时间大于设置的时间(默认为6000ms)后仍然没有使用,则该连接会被回收关闭。
4.Auto Commit:
连接是否自动提交SQL语句。True自动提交;False手动提交。
5.Transaction isolation:
设置事务的隔离级别。JDBC定义了五种事务隔离级别:
1).TRANSACTION_NONE 不支持事务
2)
.TRANSACTION_READ_UNCOMMITTED 读未提交。允许脏读,不可重复读和幻读3)
.TRANSACTION_READ_COMMITTED 读已提交。禁止脏读,但允许不可重复读和幻读4)
.TRANSACTION_REPEATABLE_READ 重复读。禁止脏读和不可重复读,允许幻读5).TRANSACTION_SERIALIZABLE 串行化。禁止脏读,不可重复读和幻读
6).DEFAULT 使用数据库默认的隔离方式
● 脏读(dirty read):一个事务读取了另一个事务尚未提交的数据
● 不可重复读(Non-Repeatable Reads):一个事务的操作导致另一个事务前后两次读取到不同的数据
● 幻读(Phantom Reads):一个事务的操作导致另一个事务前后两次查询的结果数据量不同
Connection Validation by Pool :
这是JMeter用来检验数据库连接是否有效的一种机制,若超过5秒未使用,则会用Validation Query去测试这个连接是否有效。
1.Test While Idle:
当连接空闲时,是否使用Validation Query去测试连接
2.Soft Min Evictable Idle Time(ms):
连接在连接池中闲置的最小时间,超出此闲置时间连接才会被回收。默认值为5000ms。
3.Validation Query:
用于确定数据库是否仍在响应的简单查询语句。
● hsqldb选择:select 1 from
INFORMATION_SCHEMA.SYSTEM_USERS
● Oracle选择:select 1 from dual
● DB2选择:select 1 from sysibm.sysdummy1
● MySQL/SQL
Server/PostgreSQL/Ingres/Derby/H2选择:select 1
● Firebird选择: select 1 from rdb$database
Database Connection Confifiguration:
1.Database URL:
JDBC数据库的连接字符串
比如:
jdbc:mysql://localhost:3306/dbname
2.JDBC Driver class:
数据库JDBC驱动类名
MySQL选择:com.mysql.jdbc.Driver
HSQLDB选择:
org.hsqldb.jdbc.JDBCDriverOracle选择:oracle.jdbc.OracleDriver
DB2选择:com.ibm.db2.jcc.DB2Driver
...
3.Username:
数据库用户名
4.password:
数据库密码
5.Connection Properties
数据库连接属性,多个连接属性之间用“&”连接,为JMeter5.2.1新增配置项。
比如:
useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
相关推荐
- 电子EI会议!投稿进度查
-
今天为大家推荐一个高性价比的电子类EI会议——IEEE电子与通信工程国际会议(ICECE2024)会议号:IEEE#62199截稿时间:2024年3月25日召开时间与地点:2024年8月15...
- 最“稳重”的滤波算法-中位值滤波算法的思想原理及C代码实现
-
在信号处理和图像处理领域,滤波算法是一类用于去除噪声、平滑信号或提取特定特征的关键技术。中位值滤波算法是一种常用的非线性滤波方法,它通过取一组数据的中位值来有效减小噪声,保留信号的有用特征,所以是最稳...
- 实际工程项目中是怎么用卡尔曼滤波的?
-
就是直接使用呀!个人认为,卡尔曼滤波有三个个关键点,一个是测量,一个是预测,一个是加权测量:通过传感器,获取传感器数据即可!预测:基于模型来进行数据预测;那么问题来了,如何建模?有难有易。加权:主要就...
- 我拿导弹公式算桃花,结果把自己炸成了烟花
-
第一章:学术圈混成“顶流”,全靠学生们把我写成段子最近总有人问我:“老师,您研究导弹飞行轨迹二十年,咋还顺带研究起月老红绳的抛物线了?”我扶了扶眼镜,深沉答道:“同志,导弹和爱情的本质都是动力学问题—...
- 如何更好地理解神经网络的正向传播?我们需要从「矩阵乘法」入手
-
图:pixabay原文来源:medium作者:MattRoss「机器人圈」编译:嗯~阿童木呀、多啦A亮介绍我为什么要写这篇文章呢?主要是因为我在构建神经网络的过程中遇到了一个令人沮丧的bug,最终迫...
- 电力系统EI会议·权威期刊推荐!
-
高录用率EI会议推荐:ICPSG2025(会议号:CFP25J66-PWR)截稿时间:2025年3月15日召开时间与地点:2025年8月18-20日·新加坡论文集上线:会后3个月内提交至S...
- EI论文写作全流程指南
-
推荐期刊《AppliedEnergy》是新能源领域权威EI/SCI双检索期刊,专注能源创新技术应用。刊号:ISSN0306-2619|CN11-2107/TK影响因子:11.2(最新数...
- JMSE投稿遇坑 实验结果被推翻
-
期刊基础信息刊号:ISSN2077-1312全称:JournalofMarineScienceandEngineering影响因子:3.7(最新JCR数据)分区:中科院3区JCRQ2(...
- 斩获国际特等奖!兰理工数学建模团队为百年校庆献礼
-
近日,2019年美国大学生数学建模竞赛(MCM-ICM)成绩正式公布。兰州理工大学数学建模团队再创佳绩,分别获得国际特等奖(OutstandingWinner)1项、一等奖(Meritorious...
- 省气象台开展人员大培训岗位大练兵学习活动
-
5月9日,省气象台组织开展首次基于Matlab编程语言的数值模式解释应用培训,为促进研究性业务发展,积极开展“人员大培训、岗位大练兵”学习活动起到了积极作用。此次培训基于实际业务需求,着眼高原天气特色...
- 嵌入式软件培训
-
培训效果:通过系统性的培训学习,理论与实践相结合,可以胜任相关方向的开发工作。承诺:七大块专业培训,可以任意选择其中感兴趣的内容进行针对性地学习,每期培训2个月,当期没学会,可免费学习一期。本培训内容...
- 轧机支承辊用重载中低速圆柱滚子轴承滚子修形探讨
-
摘 要:探讨了轧机支承辊用重载中低速圆柱滚子轴承滚子修形的理论和方法,确定关键自变量。使用Romax软件在特定载荷工况条件下对轴承进行数值模拟分析,确定关键量的取值范围。关键词:轧机;圆柱滚子轴承;滚...
- 数学建模EI刊,如何避雷?
-
---权威EI会议推荐会议名称:国际应用数学与工程建模大会(ICAMEM)截稿时间:2025年4月20日召开时间/地点:2025年8月15日-17日·新加坡论文集上线:会后2个月内由Sp...
- 制造工艺误差,三维共轭齿面怎样影响,双圆弧驱动的性能?
-
文/扶苏秘史编辑/扶苏秘史在现代工程领域,高效、精确的传动系统对于机械装置的性能和可靠性至关重要,谐波传动作为一种创新的机械传动方式,以其独特的特性在精密机械领域引起了广泛关注。在谐波传动的进一步优化...
- 测绘EI会议——超详细解析
-
【推荐会议】会议名称:国际测绘与地理信息工程大会(ICGGE)会议编号:71035截稿时间:2025年3月20日召开时间/地点:2025年8月15-17日·德国慕尼黑论文集上线:会后2个...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 使用 (12)
- 启动oracle的监听服务 (13)
- oracle 数据库 字符集 (20)
- powerdesigner oracle (13)
- oracle修改端口 (15)
- 左连接 oracle (15)
- oracle 标准版 (13)
- oracle 转义字符 (14)
- asp 连接 oracle (12)
- oracle安装补丁 (19)
- matlab三维图 (12)
- matlab归一化 (16)
- matlab求解方程 (13)
- matlab坐标轴刻度设置 (12)
- matlab脚本 (14)
- matlab多项式拟合 (13)
- matlab阶跃函数 (14)