欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql的jdbc配置(mysql数据库备份讲解)

程序员文章站 2023-12-05 19:08:46
测试的过程中,我们经常要对数据库表数据进行查询、修改、添加等操作。在用 jmeter 做性能或者接口等测试时,也可以让 jmeter 连接数据库然后对数据库数据进行相关操作。下面先来学习如何使用 jm...

测试的过程中,我们经常要对数据库表数据进行查询、修改、添加等操作。在用 jmeter 做性能或者接口等测试时,也可以让 jmeter 连接数据库然后对数据库数据进行相关操作。下面先来学习如何使用 jmeter 连接 mysql 数据库进行操作。

一、创建测试

首先创建一个测试计划和线程组,然后在线程组下添加配置元件 jdbc connection configuration 。

mysql的jdbc配置(mysql数据库备份讲解)

二、设置数据库连接配置

接下来要对数据库连接的配置项进行设置。

mysql的jdbc配置(mysql数据库备份讲解)

variable name for created pool: 创建池的变量名 。这个变量在后面介绍的 jdbc request 请求中用到。

max number of connections: 池中允许的最大连接数。在大多数情况下,将其设置为零(0),这意味着每个线程都将拥有自己的池,其中只有一个连接,即线程之间不共享连接。如果您真的想使用共享池,那么将 max count 设置为与线程数量相同,以确保线程不会彼此等待。

max wait(ms):在试图检索连接的过程中超过了超时时间,则池会抛出一个错误 。

time between eviction runs (ms):在被逐出的时间间隔(ms)。在空闲对象驱逐线程之间运行的毫秒数。当非正的时候,就不会运行无用的对象驱逐线程(默认为”60000″,1分钟) 。

auto commit:将自动提交或关闭连接到连接上 。

transaction isolation:事务隔离 。这个默认即可,具体用法暂时还没有研究过,会的可以分享一下。

test while idle :测试池的空闲连接 ,后面的验证查询将用于测试它。

soft min evictable idle time(ms) :软min可驱逐空闲时间(ms) 。在它有资格被闲置的对象驱逐者强制驱逐之前,一个连接可能闲置在池中,并且至少在池中存在空闲连接的额外条件,默认值为5000(5秒) 。

validation query :验证查询 。一个简单的查询,用来确定数据库是否仍在响应。 这个验证查询在池创建中使用,即使“空闲测试”建议查询只在空闲连接上使用,也可以验证它。

验证查询的列表可以配置 jdbc.config.check。查询属性,默认情况下:

hsqldb:select 1 from information_schema.system_users

oracle:select 1 from dual

db2:select 1 from sysibm.sysdummy1

mysql:select 1

microsoft sql server (ms jdbc driver):select 1

postgresql:select 1

ingres:select 1

derby:values 1

h2:select 1

firebird:select 1 from rdb$database

database url:数据库的jdbc连接字符串。格式:jdbc:mysql://host[:port]/dbname,称举个栗子:
jdbc:mysql://127.0.0.1:3306/db_api。为了避免读取数据出现乱码,可以在前面基础上加上处理乱码的字符串,例如:jdbc:mysql://127.0.0.1:3306/db_api?useunicode=true&characterencoding=utf8。

jdbc driver class :jdbc驱动程序类 。mysql 选择 com.mysql.jdbc.driver,另外我们要把 mysql-connector-java.jar 包放到 jmeter/lib目录下,然后重启 jmeter 。

mysql-connector-java.jar 包下载地址:
https://pan.baidu.com/s/14n4beohy14svkjziahvsdg 密码:vmy3

下面列举一些数据库及其参数的实例:

mysql

  • driver class:com.mysql.jdbc.driver
  • database url:jdbc:mysql://host[:port]/dbname

postgresql

  • driver class:org.postgresql.driver
  • database url:jdbc:postgresql:{dbname}

oracle

  • driver class:oracle.jdbc.oracledriver
  • database url:jdbc:oracle:thin:@//host:port/service orjdbc:oracle:thin:@(description=(address=(host={mc-name})(protocol=tcp)(port={port-no}))(connect_data=(sid={sid})))

ingress (2006)

  • driver class:ingres.jdbc.ingresdriver
  • database url:jdbc:ingres://host:port/db[;attr=value]

microsoft sql server (ms jdbc driver)

  • driver class:com.microsoft.sqlserver.jdbc.sqlserverdriver
  • database url:jdbc:sqlserver://host:port;databasename=dbname

apache derby

  • driver class:org.apache.derby.jdbc.clientdriver
  • database url:jdbc:derby://server[:port]/databasename[;urlattributes=value[;…]]

username :连接数据库的用户名。

password:连接数据库的密码。

三、连接数据库操作

设置完成后,接下来在线程组下创建一个 jdbc request 请求。

mysql的jdbc配置(mysql数据库备份讲解)

1、查询操作

例如我们先来个查询语句。

mysql的jdbc配置(mysql数据库备份讲解)

运行脚本之前,我们先在 sqlyog 中查询看 table_api 表中有哪些数据?

mysql的jdbc配置(mysql数据库备份讲解)

接着在 jmeter 中添加一个查看结果树监听器,运行一次脚本。

mysql的jdbc配置(mysql数据库备份讲解)

从上面的结果可以看出,jmeter 已经成功操作了数据库,并且把 table_api 表的数据查询出来了,和在 sqlyog 中查询到的结果是一致的。

2、增加操作

下面往表内插入一行新数据。

mysql的jdbc配置(mysql数据库备份讲解)

运行脚本,查看结果。

mysql的jdbc配置(mysql数据库备份讲解)

从结果可以看出,插入数据也是没问题的。

3、修改操作

接下来,我们把隔壁老王的电话修改一下。

mysql的jdbc配置(mysql数据库备份讲解)

运行脚本,查看结果。

mysql的jdbc配置(mysql数据库备份讲解)

数据修改成功。

4、删除操作

最后,我们把隔壁老王的数据删除。

mysql的jdbc配置(mysql数据库备份讲解)

运行脚本,查看结果。

mysql的jdbc配置(mysql数据库备份讲解)

从查询结果看出,隔壁老王数据被删除,永远离开了我们。

以上就是 jmeter 连接 mysql 对数据库的一些操作,希望对大家有所帮助。