封装数据库操作类(小结)|学习笔记

简介: 快速学习封装数据库操作类(小结)

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段封装数据库操作类(小结)】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/711/detail/12684


封装数据库操作类(小结)

 

主要内容

一、小结

 

一、小结

小结是为了如何映射到如何去封装类

1.类的封装是以功能驱动为前提,相关操作存放到一个类中

当前要做的封装 SQL 类是要实现数据库底层的操作(连接,认证,初始化,设置字符集),然后实现 SQL 的执行,执行分为增,删,改,查,按业务划分。其他的功能与本课无关。

如何写 SQL 是外部的事情,不关注 SQL ,本课只关注执行层面,这是我们学到的内容,因此会发现封装的类没有真正具体的业务关系,都是执行层面的关系,也没有写任何一条 SQL 指令,SQL 要做的都是外部传入的。

2.在写面向对象开发的类时,一个类通常是一个独立的文件,文件名与类名相同(方便后期维护和自动加载)

在真正的开发里是自动加载的。

3.类中如果有数据需要管理,设定属性,常量

观察数据是否需要变化,如果不变化设置常量,如果变化设置属性。

假如对所有对象都相同则设置静态属性,在本课中没有涉及到。

4.类中如果有功能需要实现(数据加工) , 设定方法

5.一个功能通常使用一个方法实现,所以方法的颗粒度应该尽可能小(方便复用)。

一个方法可以实现,但是做完后发现其他地方有类似的功能,或有部分功能需要从中重用代码,此时就说明封装不好,代码复用性不高。

6.应该尽可能增加类对成员的控制:即能私有尽可能私有

刚开始多处使用 public,但是发现地方不需要公有化,所以改 private。

7.类中需要实现的功能应该由具体的业务来实现支撑,并且和类的定性有关

(1)实用类:只考虑当前业务,不考虑扩展性和全面性(代码少,应用范围小,只针对本业务,但如果放入相同的业务中不能使用,因为业务稍微有一点性质不同,就不能使用)。

(2)工具类:全面综合考虑,尽可能多的封装可能存在的业务(代码多,应用范围广)将所有的业务都要包含进来,都要考虑进来,并且所有的操作都要考虑到细节和安全(尽可能的详尽)。该方法带来的问题就是代码多,但是应用范围广。

所以应该根据业务和需求选择工具类或者实用类。

具体的操作可根据封装 mysql 数据库类的操作按部就班的实现,就可以实现类的封装了。

相关文章
|
6月前
|
存储 关系型数据库 MySQL
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
Linux C/C++ 开发(学习笔记八):Mysql数据库图片存储
144 0
|
6月前
|
关系型数据库 MySQL 数据库
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
Linux C/C++ 开发(学习笔记七):Mysql数据库C/C++编程实现 插入/读取/删除
129 0
|
27天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
105 6
|
27天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
64 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
2月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
3月前
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
53 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
3月前
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
107 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
3月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
37 6
|
3月前
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
46 4
|
3月前
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(中)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
30 3