黑马程序员——接口测试——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

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表