java vuser   JDBC 参数化的方法

如果不进行参数化 直接把32  33行去掉 ,sql 值写到valuers  中就行了

下面这是 insert,delete,update  三种方法的sql 方法模板

注:数据库增删改 都是 第37行  int rows = ps.executeUpdate();            Update()方法,本来就都是Update操作

步骤:
1.注册驱动
2.通过用户名,密码,数据库url等信息,获取jdbc链接Connection
3.通过jdbc链接,对sql语句进行预编译,得到PreparedStatement
4.对sql语句进行传参数
5.执行sql语句
6.获取数据
insert、update、delete返回的是操作的是数据行数
Select返回的ResultSet对象,可以获取对应的列值
7.关闭链接
非空的情况下,关闭Connection
非空的情况下,关闭PreparedStatement

这是在java 中模拟执行

 package com.test;
//包名 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; public class Jdbc_Update {
String user = "root";
String password = "123456";
String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
String sql = "insert into itcast_role (name, description) values (?,?)";
//定义成全局变量
PreparedStatement ps;
Connection conn; public int init() throws Throwable {
//1.注册mysql驱动
Class.forName("com.mysql.jdbc.Driver");
//2.通过url,user,password建立mysql连接,返回Connection的对象
//第三个getConnection - [记住的]
conn = DriverManager.getConnection(url, user, password);
//3.对sql进行预编译,返回一个编译过的sql对象PreparedStatement -[记住的]
ps = conn.prepareStatement(sql);
return 0;
}//end of init public int action() throws Throwable {
//4.执行前对不确定的sql数据进行赋值
ps.setString(1, "产品");
ps.setString(2, "设计产品"); //5.返回受影响的行数
int rows = ps.executeUpdate();
System.out.println("受影响的行数"+ rows);
return 0;
}//end of action public int end() throws Throwable {
//6.关闭连接
conn.close();
return 0;
}//end of end public static void main(String[] args) throws Throwable {
// 模拟lr一下执行
Jdbc_Update test = new Jdbc_Update();
test.init();
test.action();
test.end(); } }

java_jdbc方法

这是在loadrunner中的模拟执行

注意:如果要参数化 ,使用的是< > 不是{ }

 /*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*
*/ import lrapi.lr;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement; public class Actions
{ String user = "root";
String password = "123456";
String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
String sql = "insert into itcast_role (name, description) values (?,?)";
//定义成全局变量
PreparedStatement ps;
Connection conn; public int init() throws Throwable {
//1.注册mysql驱动
Class.forName("com.mysql.jdbc.Driver");
//2.通过url,user,password建立mysql连接,返回Connection的对象
//第三个getConnection - 记住的
conn = DriverManager.getConnection(url, user, password);
//3.对sql进行预编译,返回一个编译过的sql对象PreparedStatement -记住的
ps = conn.prepareStatement(sql);
return 0;
}//end of init public int action() throws Throwable {
//---------事务action() --判断开始--------- lr.start_transaction("insert-1"); ps.setString(1, "<dataP>");
ps.setString(2, "<dataP>"); //5.返回受影响的行数
int rows = ps.executeUpdate();
//---------注释掉打印免得浪费压测资源---------
// System.out.println("受影响的行数"+ rows); //因为上面一行受影响的行数,返回的是布尔函数 是就True 不是就false “==1表示相等”所以这样判断就可以了
if(rows == 1){ lr.end_transaction("insert-1", lr.PASS); }else{ lr.end_transaction("insert-1", lr.FAIL); } return 0;
}//end of action public int end() throws Throwable {
//6.关闭连接
conn.close();
return 0;
}//end of end
}

loadrunner_jdbc

这是loadrunner的运行日志

 Virtual User Script started at : 2019-03-30 17:44:02
Starting action vuser_init.
Ending action vuser_init.
Running Vuser...
Starting iteration 1.
Starting action Actions.
Notify: Transaction "insert-1" started.
Notify: Transaction "insert-1" ended with "Pass" status (Duration: 0.0214).
Ending action Actions.
Ending iteration 1.
Ending Vuser...
Starting action vuser_end.
Ending action vuser_end.
Vuser Terminated.

log

附 参数化

——> query 查询数据库压测脚本    https://www.cnblogs.com/zhenyu1/p/10628822.html

Update类型_JDBC的方法_JAVA方法_Loadrunner脚本的更多相关文章

  1. Query类型_JDBC的方法_JAVA方法_Loadrunner脚本

    数据库查询压力测试脚本 jdbc_java_查询类型接口测试 package com.test; import java.sql.Connection; import java.sql.DriverM ...

  2. zendstudio 声明变量类型,让变量自动方法提示

    zendstudio 行内注释, 显式声明变量类型,让变量自动方法提示 $out = []; /* @var $row \xxyy\SizeEntity */ foreach ($rows[ 'lis ...

  3. paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型

    paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...

  4. SpringMVC提交数据遭遇基础类型和日期类型报400错误解决方法

    使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java ...

  5. JavaScript中判断整字类型最简洁的实现方法

    这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了type ...

  6. String 类型equals方法和int == 方法效率比较

    最近写了一个递归方法,在进行比较判断的时候,因为都是integer类型,而integer类型在大于127或者小于-128时会在新建一个,这是因为integer类型的拆装箱机制, 之前没有考虑过equa ...

  7. 书写 sql 中关于 update 多表联合更新的方法

    SQL Update多表联合更新的方法(1) sqlite 多表更新方法//----------------------------------update t1 set col1=t2.col1fr ...

  8. 170823、SQL Update多表联合更新的方法

    SQL Update多表联合更新的方法 (1) sqlite 多表更新方法 update t1 set col1=t2.col1 from table1 t1 inner join table2 t2 ...

  9. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型

    前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 ...

随机推荐

  1. [转]未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600解决方法

    找到你开发的机器上VS安装目录中的SDK\v2.0\BootStrapper\Packages\CrystalReports\CRRedist2005_x86.msi和SDK\v2.0\BootStr ...

  2. linux 中安装mysql8.0

    转载自:http://www.linuxidc.com/Linux/2016-11/137608.htm 可能有人会惊奇MySQL为何从5.x一下跳跃到了8.0.事实上,MySQL 5.x系列已经延续 ...

  3. 使用Docker发布.NET CORE API

    1.使用VS 2015 新建了一个Core API项目,然后把他的依赖升级到最新(我机器VS 2015默认的包都是rc版本),然后publish. 2.在publish目录的同级目录下,新建Docke ...

  4. 字符型设备驱动程序-first-printf以及点亮LED灯(二)

    编译这几个函数之前要学一下:Linux 的几个操作命令. 学习地址:http://edu.51cto.com/lesson/id-101824.html 重要的命令 有4个 :分别是 1.lsmod, ...

  5. Docker permission denied

    Issue: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/ ...

  6. iOS 数据安全、数据加密传输

    近期接到一个新需求:APP企业版需要接入热更新功能. 热更新需要下发补丁脚本, 脚本下发过程中需要保证脚本传输安全,且需要避免中间人攻击. 需要用到数据加密传输方面的知识,以下是我设计的加密解密流程: ...

  7. org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping

    org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping 原因:yml文件格式错误,此文件要求严格要求格式 如节 ...

  8. OO第三次博客作业——规格

    OO第三次博客作业——规格 一.调研结果: 规格的历史: 引自博文链接:http://blog.sina.com.cn/s/blog_473d5bba010001x9.html 传统科学的特点是发现世 ...

  9. 用CSS/CSS3 实现水平居中和垂直居中,水平垂直居中的方式

    一.水平居中 (1)行内元素解决方案:父为块元素+text-align: center 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可: 使用te ...

  10. 请给出如下格式的date命令 例:11-02-26.再给出实现按周输出 比如:周六输出为6,请分别给出命令。

    请给出如下格式的date命令 例:19-01-18.再给出实现按周输出 比如:周六输出为6,请分别给出命令. 解答: 方法1: [root@zhaokang ~]# date2019年 01月 17日 ...