0

0

如何有效实现应用mysql的增删改查功能

无忌哥哥

无忌哥哥

发布时间:2018-07-18 09:54:15

|

2050人浏览过

|

来源于php中文网

原创

1.  前言

针对数据的增加、修改、删除和查询是应用软件系统中最为常用的功能。作为软件开发人员,如何高效的实现上述功能,并且能够保证系统数据的正确性、规范性和有效性是非常重要的。

本文结合自己在项目实践中完成的增删改查功能,分析和总结实现增删改查功能的开发过程和方法,以便在后续的开发工作中较好的完成类似功能的开发。

2.  开发过程与方法

增加功能

增加功能主要是将用户在页面中录入的数据项保存到数据表中对应的数据表字段中。

可以采用如下的步骤进行分析与实现:

结合业务需要,分析页面上需要用户录入哪些数据项?

需要录入哪些数据项?

每一个数据项的录入方式(文本框录入、下拉列表录入、checkbox录入、radio录入)和校验规则(非空校验、字段类型、字段长度、字段格式)是什么?

录入数据项与数据表字段的对应关系(对应哪个数据表,哪个数据字段、)

页面中的每一个数据项与哪个数据表的哪个字段相对应?

页面录入的数据项值是否需要转换成数据库字段的值?(比如将页面中用户录入的是和否转换成数据库字段1和0)

后台保存数据时,按照如下的步骤处理:

若数据校验不正确,则提示出哪些数据项格式不正确,需要如何填写为正确的格式。

若保存失败,则将失败的原因提示给用户,便于用户修改之后再次保存。

若保存成功,则将成功的操作结果反馈给用户。

若保存异常,则提示用户保存操作出现异常,请重试。

若页面的VO数据只对应一张数据表,则直接保存到一张数据表即可。

若页面的VO数据需要保存到数据库中的多张数据表时,需要采用事务管理机制控制数据保存操作的完整性,防止出现一部分表保存成功;一部分保存失败的情况。

若已经存在重复的记录,则将重复的信息反馈给用户

若没有重复的记录,则执行如下的保存步骤。

首先,需要接收页面录入的数据项,然后校验数据项的合法性和有效性(类型、长度),并将

然后,结合数据的唯一性规则,判定是否已经存在重复的数据记录;

接着,实现页面VO数据项与持久化对象PO的转换:将用户在页面上录入的VO数据项转换成数据库实体对象,并调用相应的主键生成规则,生成数据库实体对象的主键字段和其他与业务无关,但是需要保存到数据库中的字段值;执行如下的保存操作:

最后,将保存操作的处理结果反馈给用户:

删除功能

删除功能主要是将用户选择的数据从数据库中删除,实现在页面上看不到数据。

可以采用如下的方法分析和实现:

分析删除的实现方式:

采用硬删除(直接将数据从数据库中删除)还是软删除方式(通过标识位标识数据已经删除)

分层删除的级联数据:

页面上操作删除的数据,是否存在记录删除的情况:删除一张数据表的一条数据,同时将另外一张数据表中与该条记录相关的数据记录同时删除掉。

分析删除的操作方式:

B2S商城系统
B2S商城系统

B2S商城系统B2S商城系统是由佳弗网络工作室凭借专业的技术、丰富的电子商务经验在第一时刻为最流行的分享式购物(或体验式购物)推出的开源程序。开发采用PHP+MYSQL数据库,独立编译模板、代码简洁、自由修改、安全高效、数据缓存等技术的应用,使其能在大浏览量的环境下快速稳定运行,切实节约网站成本,提升形象。注意:如果安装后页面打开出现找不到数据库等错误,请删除admin下的runtime文件夹和a

下载

依据数据记录的哪个数据项进行删除

支持一次只能删除一条数据

支持一次可以删除多条数据

删除操作的实现方法:

后台获取需要删除的数据记录的主键值,执行删除操作;若存在级联删除的情况,则需要在删除当前表的数据记录之后,同时删除相关数据表中与该条记录相关的数据记录,确保数据库中不出现无效的冗余数据。

批量删除的情况,若其中一条数据删除错误;则将该条记录写入提示信息中,继续执行后续数据记录的删除;

将删除操作的处理结果反馈给操作用户:

若删除失败,则反馈给删除失败的原因;

若删除异常,则反馈异常的原因,提示用户重试。

若删除成功,则反馈操作成功的提示信息给用户;

在查看数据时,将数据记录的主键隐藏显示到页面上,

在选择数据时,将选择数据对应的主键保存起来

用户点击删除按钮时,首先提示用户是否确认删除,若用户选择确认删除,则执行如下的处理步骤:

在删除成功之后,需要重新刷新页面上的显示数据,将删除的结果(删除成功的数据不在显示在页面上)展示给用户。

修改功能

修改功能主要是将针对数据库中已有的数据项进行重新编辑,并将修改后的数据保存到数据库中。

查询功能

综述所述,Web层的开发方法如下:

编写页面VO:分析Web显示层需要提交哪些数据项、需要返回哪些结果数据项;将请求数据项和结果数据项统一封装到页面VO。在编码实现时,页面VO类是普通的Bean类,定义数据项并提供set和get方法即可。

编写控制层Action:定义页面VO对象;使用页面VO对象接收Web显示层提交的请求数据;并将VO提交的请求数据转换成数据传输对象,传输给Service层使用;接收服务层返回的处理结果;将处理结果返回的数据传输对象转换成VO的结果数据项。

编写Action配置文件:

建立显示层请求与控制层之间的请求对应关系:通过在Action的配置文件中,配置Action信息建立页面请求和Action之间的对应关系。

编写显示层页面:

使用页面VO接收用户的请求数据:将页面中的表单名称设置为与页面VO的属性名称相同,保证页面VO可以接收到请求数据。

设置请求对应的Action地址:针对提交请求的页面按钮,将请求的地址设置为Action地址,确保可以将请求提交到对应的。

接收返回的处理结果:接收请求返回的处理结果,依据处理结果进行相应的处理。

3.  总结

本文在分析Web显示层和Web控制层主要功能的基础上,对两者之间的数据交互进行深入分析,并以数据交互为核心提出了Web层的开发方法,同时对Web层开发的注意事项进行总结,对开发Web层功能具有较好的借鉴和指导。

相关专题

更多
excel制作动态图表教程
excel制作动态图表教程

本专题整合了excel制作动态图表相关教程,阅读专题下面的文章了解更多详细教程。

20

2025.12.29

freeok看剧入口合集
freeok看剧入口合集

本专题整合了freeok看剧入口网址,阅读下面的文章了解更多网址。

65

2025.12.29

俄罗斯搜索引擎Yandex最新官方入口网址
俄罗斯搜索引擎Yandex最新官方入口网址

Yandex官方入口网址是https://yandex.com;用户可通过网页端直连或移动端浏览器直接访问,无需登录即可使用搜索、图片、新闻、地图等全部基础功能,并支持多语种检索与静态资源精准筛选。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

197

2025.12.29

python中def的用法大全
python中def的用法大全

def关键字用于在Python中定义函数。其基本语法包括函数名、参数列表、文档字符串和返回值。使用def可以定义无参数、单参数、多参数、默认参数和可变参数的函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

python改成中文版教程大全
python改成中文版教程大全

Python界面可通过以下方法改为中文版:修改系统语言环境:更改系统语言为“中文(简体)”。使用 IDE 修改:在 PyCharm 等 IDE 中更改语言设置为“中文”。使用 IDLE 修改:在 IDLE 中修改语言为“Chinese”。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

16

2025.12.29

C++的Top K问题怎么解决
C++的Top K问题怎么解决

TopK问题可通过优先队列、partial_sort和nth_element解决:优先队列维护大小为K的堆,适合流式数据;partial_sort对前K个元素排序,适用于需有序结果且K较小的场景;nth_element基于快速选择,平均时间复杂度O(n),效率最高但不保证前K内部有序。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

12

2025.12.29

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

134

2025.12.29

抖音网页版入口在哪(最新版)
抖音网页版入口在哪(最新版)

抖音网页版可通过官网https://www.douyin.com进入,打开浏览器输入网址后,可选择扫码或账号登录,登录后同步移动端数据,未登录仅可浏览部分推荐内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

63

2025.12.29

快手直播回放在哪看教程
快手直播回放在哪看教程

快手直播回放需主播开启功能才可观看,主要通过三种路径查看:一是从“我”主页进入“关注”标签再进主播主页的“直播”分类;二是通过“历史记录”中的“直播”标签页找回;三是进入“个人信息查阅与下载”里的“直播回放”选项。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

18

2025.12.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.5万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 777人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号