百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

JMeter测试关系数据库:JDBC连接(jmeter查询数据库)

sinye56 2024-10-17 15:33 6 浏览 0 评论

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.JDBCDriver

Oracle选择: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

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: