一、JDBC Connection Configuration

1、Variable Name Bound to Pool-Variable Name:连接池名称, JDBC Request通过此名称来获取连接池中的连接;

2、Max Number of Connections:连接池的最大连接数.Pool TimeOut:连接超时设置。

3、Idle CleanUp Interaval:空闲连接清理时间间隔Auto Commit:事务是否自动提交选项,。

4、Transaction Isolation: JDBC事务控制选项

(1)原子性(atomicity):事务是数据库的逻辑工作单位,对于其数据修改,要么全部执行,要么全部不执行。

(2)一致性(consistency):事务在完成时,必须是所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。

(3)隔离性(isolation):一个事务的执行不能被其他事务所影响。

(4)持久性(durability):一个事务一旦提交,事物的操作便永久性地保存在数据库中。

  即使此时再执行回滚操作也不能撤消所做的更改。为了保证维护事务的ACID属性,就产生了锁这种机制,用来做事务隔离,隔离级别有几种呢,就是我们在Transaction Isolation下拉列表中看到的。

  TRANSACTION NONE:不支持事务, TRANSACTIONNONE=0

  TRANSACTION READ UNCOMMITED:允许脏读、不可重复读和幻读。TRANSACTION READ UNCOMMITTED =1

  TRANSACTION READ COMMITTED:禁止脏读,但允许不可重复读和幻读。TRANSA CTION READ COMMITTED 2

  TRANSACTION REPEATABLE READ:禁止脏读和不可重复读,允许幻读。TRANSACTION REPEATABLE READ=4

  TRANSACTION SERIALIZABLE:禁止脏读、不可重复读和幻读, TRANSACTIONSERIALIZABLE=8

  另外还有一个选项DEFAULT,这是JMeter加上去的,默认值是-1,其实是TRANSACTION READ COMMITTED,即禁止脏读,但允许不可重复读和幻读。上面提到了脏读,下面来解释一下脏读。

  脏读:一个事务读取了另外一个事务未提交的数据。

  不可重复:读取一个事务再次读取之前的数据时,这个数据已经被另外一个事务修改。

  幻读:一个事务重新执行一个查询,返回的记录包含了其他事务提交的新记录。

5、Keep-Alive:是否保持与数据库的连接。

6、Max Connection age:连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃。当然正在使用的连接不会马上断开,而是等待它close再断开,配置为0的时候则不会对连接的生存时间进行限制,单位毫秒。

7、Validation Query: 验证SQL语法。

8、Database URL: JDBC连接字符串,读者一定会问,我怎么知道这个连接字符的格式?JDBC连接字符的格式是固定的

MySQL:

  Driver="com.mysql.jdbc. Driver";

  URL="jdbc:mysql://localhost: (端口}/(数据库名)";

Oracle (用thin模式) :

  Driver="oracle.jdbc.driver.OracleDriver" ;

  URL="jdbc:oracle:thin: @loaclhost: (端口): |SIDI";

Microsoft sgL Server

  Driver="com.microsoft.sqlserver.jdbc.sQLServerDriver" ;

  URL="jdbc:microsoft: sqlserver://localhost: :(端口); DatabaseName= {数据库名}";

Sysbase:

  Driver="com.sybase.jdbc.SybDriver";

  URL="jdbc:Sysbase:// localhost: (端口} /[数据库名)";

Postgresql:

  Driver="org.postgresql.Driver';

  URL="jdbc:postgresql://localhost/db name";

DB2:

  Driver="com.ibm.db2.jdbc.app. DB2 . Driver" ; //装有DB2客户端4

  Driver="com.ibm.db2.jdbc.net. DB2. Driver";//未装DB2客户端

  URL="jdbc: db2://1ocalhost: (端口}/(数据库名}" ;

JDBC-ODBC:

  Driver="sun.jdbc.odbc. JdbcodbcDriver";

  URL="jdbc:odbc: (数据源名}" ;

  各数据库的驱动下载网址如下,将下载的驱动包放置%jmeter_home%\lib目录下。

    mySQL:https://dev.mysql.com/downloads/connector/

    IBM DB2:http://www-01.ibm.com/support/docview.wss?uid=swg21363866

    Oracle:http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html

    SQL Server:https://www.microsoft.com/en-us/download/details.aspx?id=55539

    PostgreSQL:https://jdbc.postgresql.org/download.html

    Microsoft Access:https://www.easysoft.com/products/data_access/jdbc-access-gateway/index.html#section=tab-1

9、IDBC Driver class:驱动类名,上面的Driver对应的内容即是。

10、Username:连接数据库的用户名。

11、Password:连接数据库的密码。

------------------------------------------------------------------------------------------------------------------------

二、JDBC Request

1、Variable Name:即是我们在JDBC ConnectionConfiguration 中i的Variable Name。

2、JDBCRequest通过这个名称来获取连接池上下文。

3、Quегу Туре: 可以看到 Query Type有很多,那么这些种类用什么作用,用在哪些场景呢?

  Select Statement:当然是咱们在需要执行查询语句的时候用到。

  pdate Statement:执行更新操作的时候用到,包括插入与修改。

  Callable Statemen:对应JDBC规范中的CallableStatement对象,它为所有的DBMS提供了一种以标准形式调用存储过程的方法,白话就是可以调用存储过程,也就是可以有入参,有占位符,后面实例详述。Prepared Select Statement:预编译查询语句,大家应该听说过绑定变量这个i,咱们在Oracle中为了减少数据库在SQL上的硬编译资源消耗,提倡大家用绑定变量,这样相同的SQL只会被编译一次。上面的Callable Statement是对Prepared Select Statement的扩展。

  Prepared Update Statement:只是把上面的Select换成了Update,意义相同。

  Comnit:当前连接状态中的内容提交。

  Rollback:当前连接状态中的内容回滚。

  AutoCommit (false):指明不需要自动提交。

4、Parameter values: 参数值,用来参数化Sql Query 中的Sql语句。

5、Parameter types: 上面参数值对应的参数。

6、Variable names: SQL执行后得到的红在联 个数据集,我们可以把它保存到变量中来,供后面的元件调用。

7、Result variable name:上面Variable names中的变量是个数与列数对应的, Result Variable Name是把整个结果存在一个数组中。

8、Query timeout:定义查询超时时间。

-------------------------------------------------------------------------------------------------------------

三、JDBC Request实例。

1. Prepared Select Statement在JDBC Request中可以定义入参,入参有两种方式。

  第一种${}引入变量。

  第二种?占位符填充,如Dutyld=? , ?的内容由Parameter Values来填充,多个变量值对应多个占位符,按从左到右的先后顺序对应。

2. Select Statement:执行查询语句,不可以用占位符来做参数化,但可以由${}来引入变量。

3. Update Statement:执行更新操作,不可以用占位符来做参数化,但可以由${}来引入变量,要注意,如果是字符变量记得要加上引号。另外,它也支持Insert操作,比如insert into t user(id,userName,password,realName) values5,'smith',1234',smith').

4. Callable Statement:支持占位符来做参数化,也可以由${}来引入变量。

5. Prepared Select Statement:与Select Statement区别有两点,一是效率上的区别,长时间执行时效率更好;二是参数化的区别,支持占位符,示例在此略过。

6. Prepared Update Statement:与Update Statement的区别同Select Statement与Prepared Select Statement的区别。一是效率上的区别,长时间执行时效率更好;二是参数化的区别,支持占位符。

7. Commit :SQL Query中的SQL执行完成后将马上提交,使用这个选项时JDBC Connection Configuration中的Auto Commit选项为False。

8. Rollback用Commit相同的例子,下面这条SQL是插入数据,如果选择Rollback,那么数据将不会插入数据库。

9. AutoCommit (false如果在JDBC Connection Configuration中的Auto Commit选项为True,现在这种情况下将会覆盖前面的设置,图中的插入操作将不会把数据插入到数据库。

jmeter之数据库相关的更多相关文章

  1. Android数据库相关整理

    今天对Android中数据库相关的操作和代码做了一个整理,便于自己之后的查阅.主要内容有: 1.原生数据库写法 2.终端进sqlite的操作 3.第三方库 4.事务处理 5.权限和路径 一.原生数据库 ...

  2. MySQL查看数据库相关信息

    使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令   1:查看显示所有数据库 mysql> show databases ...

  3. sqlite数据库相关总结

    1. sqlite是轻量型.关系型管理系统,是嵌入式的,占用资源低.可移植性强,比mySql处理速度快,现在主流的版本是sqlite3 2. sqlite中的数据类型有TEXT(字符串,采用UTF-8 ...

  4. Atitit  基于meta的orm,提升加速数据库相关应用的开发

    Atitit  基于meta的orm,提升加速数据库相关应用的开发 1.1. Overview概论1 1.2. Function & Feature功能特性1 1.2.1. meta api2 ...

  5. 阿里云OneinStack数据库相关

    阿里云OneinStack数据库相关必须进入oneinstack目录下执行相关命令 ===================================源码安装目录: Nginx:/usr/loca ...

  6. oschina数据库相关

    数据库相关 110数据库服务器 233NoSQL数据库 18MySQL衍生版 6开源XML数据库 311数据库管理工具 117数据库调整和优化 274数据库驱动程序 41数据库建模

  7. PB数据库相关

    ---------------------------------------------------------------- 数据库画板: 一张表定义了主键或者唯一索引,则能够在Results视窗 ...

  8. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

  9. 利用jmeter进行数据库测试

    1.首先,用jmeter进行数据库测试之前,要把oracle和mysql的JDBC驱动jar包放到jmeter安装路径的lib目录下,否则会提示错误 2.添加一个线程组,如下图 3.接下来添加一个JD ...

随机推荐

  1. Liferay7.0与cas单点登录配置

    1.简介     Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Lif ...

  2. [Python]可变类型,默认参数与学弟的困惑

    一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...

  3. ansible 角色登陆

    用ansible 来管理远程的主机,最大的好处是方便,ansible不用在远程的主机上安装ansible的客户端,ansible只要能通过ssh连接上远程主机就 能对它进行管理.也就是说ansible ...

  4. SpringBoot入门 (十二) 定时任务

    本文记录在SpringBoot中使用定时任务. 在我们的项目中,经常需要用到定时任务去帮我们做一些事情,比如服务状态监控,业务数据状态的更改等,SpringBoot中实现定时任务有2中方案,一种是自带 ...

  5. localStorage存储对象,sessionStorage存储数组对象

    前言 最近在用angular做商城购物车的功能模块,因为angular的watch监听,数据只要发生变化就能很方便的自动渲染页面.但随即出现的问题是,之前用户操作的样式都会被重置掉. 例如我勾选了几个 ...

  6. [转]csv文件导入Mysql

    本文转自:https://blog.csdn.net/quiet_girl/article/details/71436108 本篇博客主要讲将csv文件导入Mysql的方法(使用命令行). Step1 ...

  7. 第一个微信小程序

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  8. java中带参数的try(){}语法

    带资源的try语句(try-with-resource)的最简形式为: try(Resource res = xxx)//可指定多个资源 { work with res } try块退出时,会自动调用 ...

  9. C# Thread.Abort方法真的让线程停止了吗?

    大家都知道在C#里面,我们可以使用 Thread.Start方法来启动一个线程,当我们想停止执行的线程时可以使用Thread.Abort方法来强制停止正在执行的线程,但是请注意,你确定调用了Threa ...

  10. Android-Menu菜单使用一

    创建菜单 在AndroidSDK中,无需从头创建菜单对象.因为一个活动只与一个菜单关联,所以Android会为该活动创建此菜单,然后将它传给Activity类的onCreateOptionsMenu回 ...