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. 我的QT5学习之路(三)——模板库、工具类和控件(下)

    一.前言 作为第三篇的最后一部分,我们来看一下Qt的控件,谈到控件,就会让人想到界面的美观性和易操作性,进而想到开发的便捷性.作为windows界面开发的MFC曾经是盛行了多少年,但是其弊端也随着其他 ...

  2. ASP.NET Core MVC中的IActionFilter.OnActionExecuted方法执行时,Controller中Action返回的对象是否已经输出到Http Response中

    我们在ASP.NET Core MVC项目中有如下HomeController: using Microsoft.AspNetCore.Mvc; namespace AspNetCoreActionF ...

  3. 京东7Fresh新零售架构设计分析

    7Fresh是京东第一个线上线下融合落地的零售创新业务模式,店内有大量设备的集成,设备供应商达50多家,针对线下业务的特点,团队独立规划和设计POS收银系统.店内生产系统.加工系统.货架陈列系统.魔镜 ...

  4. css中的定位问题

    由于我最近在修改自己的网页布局,突然发现了自己对css中的定位概念还是混淆的,于是通过查官方文档,大神博客,自己实践,重新梳理了css定位的知识点.如果有不对的地方,请指正

  5. IE6下出现横向滚动条问题的解决方案

    当我们在css样式设置为html {overflow-y:auto;}时,在ie7以上版本应用时不会有问题,可是在ie6下就会发现垂直滚动条出现会引起横向滚动条出现.究其原因是在ie6下,当内容过多出 ...

  6. MySQL学习【第九篇存储引擎】

    一.存储引擎介绍 1.我们知道mysql程序构成由连接层,sql层,存储引擎层.存储引擎层和磁盘进行交互,由其去取数据,而我们取得数据是表的形式展现出来,谁做的呢?就是存储引擎结构化成表的形式返回给用 ...

  7. [已解决] 设置无效字段为-1 时,引发的 DataGridView DataError

    由于问题一句话说不清.所以标题里也没写明白.大概情况是这样.我一直使用dotNetBar控件来做UI,其中的DataGridView很常用.过去一直有发现DataError的错误,通过截取消息暂时屏蔽 ...

  8. java 一个数字的位数不够怎么在前面加0

    import java.text.DecimalFormat; //(1).如果数字1是字符串,如下处理: String str1="1"; DecimalFormat df=ne ...

  9. 数据结构08——Trie

    一.什么是Trie? Trie树,一般被称为字典树.前缀树等等,Trie是一种多叉树,这个和二分搜索树.堆.线段树这些数据结构不一样,因为这些都是二叉树.,Trie树除了是一种多叉树,它是一种哈希树的 ...

  10. s3c2440存储控制器详解

    从上图可知,外部内存类的设备与存储管理器相连,那么CPU是怎样访问到内存的呢?通过存储管理器.CPU比较单纯,只会按照指令执行,CPU只负责发出地址,怎样找到内存类设备呢?这些都交给存储管理器来管理. ...