一、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. java中this$0 this$1 this$2

    import java.lang.reflect.Field; public class Outer {//this$0 public class FirstInner {//this$1 publi ...

  2. postgresql逻辑结构--表(二)

    一.创建表 语法: create table table_name( col01_name data_type, col02_name data_type, col03_name data_type, ...

  3. gitlab的md文件内使用锚点

    markdown中使用锚点的格式: [要显示的内容](#锚点的链接) 如: [工具](#tool) 又因为再markdown中每一个标题都默认是锚点,所以事情就简单了 # test ## conten ...

  4. HttpServletRequest.getInputStream() 只能读取一次

    问题:在使用HTTP协议实现应用间接口通信时,服务端读取客户端请求过来的数据,会用到request.getInputStream(),第一次读取的时候可以读取到数据,但是接下来的读取操作都读取不到数据 ...

  5. 【IT笔试面试题整理】有序数组生成最小高度二叉树

    [试题描述]定义一个函数,输入一个有序数组生成最小高度二叉树 We will try to create a binary tree such that for each node, the numb ...

  6. Deep learning with Python 学习笔记(4)

    本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...

  7. JavaScript 总结(前端常用工具类的封装)

    JavaScript (class是ES6的新东西,看着不爽可以变,但主要还是里面的方法) 1. type 类型判断 class TypeFn { isString (o) { //是否字符串 ret ...

  8. Spark2.1.0——深入理解事件总线

    Spark2.1.0——深入理解事件总线 概览 Spark程序在运行的过程中,Driver端的很多功能都依赖于事件的传递和处理,而事件总线在这中间发挥着至关重要的纽带作用.事件总线通过异步线程,提高了 ...

  9. es6学习笔记8--Map数据结构

    Map Map结构的目的和基本用法 JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键.这给它的使用带来了很大的限制. var data = {} ...

  10. 微软宣布.NET开发环境将开源 支持三大操作系统(windows,Mac OS X和Linux)(转)

    微软周三(11月12日)公布了.NET开发框架开源计划.公司拟将这长期以来只能运行于Windows系统下的开发环境,通过GitHub开源,以实现跨平台支持Mac OS X和Linux.根据微软公布的计 ...