黑马程序员——接口测试——day06——PyMySQL增删改查、工具类封装、ihrm删除接口

本文主要是介绍黑马程序员——接口测试——day06——PyMySQL增删改查、工具类封装、ihrm删除接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:

  1. 数据库操作应用场景
  2. PyMySQL操作数据库
    1. 安装PyMySQL
    2. 操作步骤
    3. 事务的概念
    4. PyMySQL连接数据库
    5. PyMySQL操作数据库
      1. SQL语法回顾
      2. 数据库查询
        1. 查询操作流程
        2. cursor游标
        3. 常用方法
        4. 案例
        5. 异常捕获
      3. 数据库UID
        1. 更新操作流程
        2. 案例
  3. 数据库工具类封装
    1. 封装的目的
    2. 设计数据库工具类
    3. 实现类方法

1.数据库操作应用场景

  • 校验测试数据
    • 接口发送请求后明确会对数据库中的某个字段进行修改,但,响应结果中无该字段数据时。
      • 如: ihrm删除员工接口。is_delete字段,没有在响应结果中出现!需要借助数据库校验!
  • 构造测试数据
    • 测试数据使用一次就失效。
      • 如: ihrm 添加员工接口,使用的手机号!
    • 测试前,无法保证测试数据是否存在。
      • 如: ihrm查询员工接口,使用的员工id

2.PyMySQL操作数据库

安装PyMySQL

操作步骤

  1. 导包 import pymysql
  2. 创建连接。conn = pymysql.connect(host,port, user, password, database, charset)
  3. 获取游标。cursor = conn.cursor()
  4. 执行SQL。cursor.execute("sql语句”)
    1. 查询语句(select)
      1. 处理结果集(提取数据fetch*)
    2. 增删改语句(insert、update、delete)
      1. 成功:提交事务conn.commit()
      2. 失败:回滚事务conn.rollback()
  5. 关闭游标。cursor.close()
  6. 关闭连接。conn.close() 
事务的概念
  • 事务,是关系型数据库(mysql)特有的概念。
  • 事务,可以看做一个虚拟的容器,在容器中存放一系列的数据库操作,看做一个整体。内部的所有操作,要么都一次性全部成功,只要有一个失败,就全部失败!

 

  • 事务操作:只有2种情况
    • 提交:conn.commit()
    • 回滚: conn.rollback() 
PyMySQL连接数据库

建立连接方法

入门案例

  • 查询数据库,获取MySQL服务器版本信息 

PyMySQL操作数据库
SQL语法回顾

数据库查询 
查询操作流程

cursor游标

常用方法
  • fetchone():从结果集中,提取一行。
  • fetchmany(size):从结果集中,提取size行。
  • fetchall():提取所有结果集。
  • 属性rownumber:可以设置游标位置。 
案例
  • 查询t_book表,获取第一条数据
  • 查询t_book表,获取前两条数据
  • 查询t_book表,获取全部数据
  • 查询t_book表,获取第3条和第4条数据 

 

异常捕获

 

 

数据库UID
更新操作流程 

案例
  • 单独实现如下操作:①:新增一条图书数据(id:5 title:西游记pub_date:1986-01-01) ②:把图书名称为'西游记′的阅读量加一③:删除名称为'西游记的图书

插入数据: 

 

修改数据:

 

删除数据:

 

3.数据库工具类封装

封装的目的
  • 将常用的数据库操作,封装到一个方法。后续再操作数据库时,通过调用该方法来实现。
  • 提高代码的复用性!
设计数据库工具类

实现类方法

获取、关闭连接

查询一条记录

增删改数据

完整封装代码实现

 

这篇关于黑马程序员——接口测试——day06——PyMySQL增删改查、工具类封装、ihrm删除接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778797

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

[MySQL表的增删改查-进阶]

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 💻💻💻数据库约束 🔭🔭🔭约束类型 not null: 指示某列不能存储 NULL 值unique: 保证某列的每行必须有唯一的值default: 规定没有给列赋值时的默认值.primary key:

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密