
一、需求:
1、业务需求:根据手机号到数据库中查看用户id,再根据用户id查看该注册用户下关联的健康成员。
2、参数化分析
1)需要根据不同的手机号进行查询,所以手机号需要进行参数化
2)用户id要作为下一个查询的参数,所以也需要参数化
二、实现
1. 下载数据库驱动包,并在jmeter中添加该jar包
下载mysql-connector-java.jar,存放到本地如:D:\jmeter相关
引入jar包:测试计划->浏览->选择jar文件
2. 添加 DBC Connection Configuration
右键线程组->添加->配置元件->JDBC Connection Configuration
配置
说明:
Variable Name:注意该变量名,后面添加jdbc请求时都需要与该名称保持一致。
Database URL:jdbc:mysql://mysql_host_ip:mysql_port/mysql_db_name
JDBC Driver class:com.mysql.jdbc.Driver
username:数据库用户名
password:数据库密码
3. 添加用户变量
4. 添加JDBC Request
右键线程组->添加->Sampler->JDBC Request
配置:
Variable Name:注意与之前配置的名称保持一致
Query Type:含变量的sql查询,选择Prepared Select Statement
Query:输入sql语句,注意不要加分号
Parameter values:引用用户定义的变量${my_phone}
Parameter types:变量的类型varchar
Variable names:保存查询结果,供后续接口调用,注意调用时加“_1”
5.添加HTTP请求
右键线程组->添加->Sampler->HTTP Request
注意:
服务器名称或IP:不要加http://
变量值:使用数据库查询结果作为变量 ${my_id_1},注意加“_1”
6.添加查看结果树
右键线程组->添加->监听器->查看结果树
7.运行
连接数据库步骤:1. 下载jdbc 的驱动 mysql-connector-java-5.1.41-bin.jar,并将该驱动放到路径:
D:\apache-jmeter-3.0\lib\
2. 打开Jmeter 工具,添加线程组 .
3. 在Jmeter工具中,添加JDBC Connection Configuration ,
4.添加JDBC Request ,
5. 添加 查看结果树,
6.配置 JDBC Connection Configuration ,
7.配置JDBC Request 处,添加需要使用的sql语句,
8.将已经下载的jdbc驱动加载到Jmeter工具中,这样就使得mysql与Jmeter连接起来。
选择 测试计划 — 进入页面,点击 浏览按钮,
9.点击 绿色的 运行按钮,执行结果,
package basicimport java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
public class JDBC {
public void findAll() {
try {
// 获得数据库驱动
//由于长时间不写,驱动名和URL都忘记了,不知道对不对,你应该知道的,自己改一下的哈
String url = "jdbc:oracle:thin:@localhost:1521:XE"
String userName = "system"
String password = "system"
Class.forName("oracle.jdbc.driver.OracleDriver")
// 创建连接
Connection conn = DriverManager.getConnection(url, userName,
password)
// 新建发送sql语句的对象
Statement st = conn.createStatement()
// 执行sql
String sql = "select * from users"
ResultSet rs = st.executeQuery(sql)
// 处理结果
while(rs.next()){
//这个地方就是给你的封装类属性赋值
System.out.println("UserName:"+rs.getString(0))
}
// 关闭连接
rs.close()
st.close()
conn.close()
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
public void delete(){
try {
//步骤还是那六个步骤,前边的两步是一样的
String url = "jdbc:oracle:thin:@localhost:1521:XE"
String userName = "system"
String password = "system"
Class.forName("oracle.jdbc.driver.OracleDriver")
Connection conn = DriverManager.getConnection(url,userName,password)
//这里的发送sql语句的对象是PreparedStatement,成为预处理sql对象,因为按条件删除是需要不定值的
String sql = "delete from users where id = ?"
PreparedStatement ps = conn.prepareStatement(sql)
ps.setInt(0, 1)
int row = ps.executeUpdate()
if(row!=0){
System.out.println("删除成功!")
}
// 关闭连接
rs.close()
st.close()
conn.close()
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
我只写了查询和删除,添加、修改和删除非常之像,这是因为查询对数据库没有改动,而增删改都对数据库进行了修改,所以这三个非常像……呵呵,你自己看着办吧
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)