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层功能具有较好的借鉴和指导。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

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

精品课程

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

共48课时 | 2万人学习

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

共3课时 | 0.3万人学习

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

共1课时 | 816人学习

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

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