thinkphp5 数据库和模型详解 之1 数据库基础
2017-02-24 11:32
246 查看
1、ThinkPHP5的数据访问层是基于PHP内置的PDO对象实现
2、数据库入口类Db 主要就是一个connect方法
理论上来说,框架并不依赖Db类,该类的存在只是为了简化数据库抽象层的操作而提供的一个工厂类
所有的数据库操作都是经过Db类调用,并且Db类是一个静态类,但Db类自身只有一个公共方法connect
3、连接器类Connection 连接类的基类是think\db\Connection
4、数据库连接都是惰性的,只有最终执行SQL的时候才会进行连接。
5、查询器类Query 数据访问层核心只有一个唯一的查询类:think\db\Query
所有的数据库查询都使用了PDO的预处理和参数绑定机制
虽然我们始终使用Db类操作数据库,而实际上大部分方法都是由查询器类提供的方法
6、生成器类Builder 生成类一般不需要自己调用,而是由查询类自动调用的
7、数据库的调试模式和应用的调试模式是两个不同的概念。
8、Db类的方法都是静态调用(不需要去实例化think\Db类)
9、一般来说并不建议在控制器的操作方法中直接操作数据库Db类
10、对数据表的CURD操作,除了select和存储过程调用使用query方法之外,其它的操作都使用execute方法
11、数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数
12、事务的支持由连接器类来完成,但查询器类中也对事务进行了封装调用,mysql需要使用InnoDB引擎。
13、事务模型、Db类都可以使用,使用方法一样。
2、数据库入口类Db 主要就是一个connect方法
理论上来说,框架并不依赖Db类,该类的存在只是为了简化数据库抽象层的操作而提供的一个工厂类
所有的数据库操作都是经过Db类调用,并且Db类是一个静态类,但Db类自身只有一个公共方法connect
3、连接器类Connection 连接类的基类是think\db\Connection
4、数据库连接都是惰性的,只有最终执行SQL的时候才会进行连接。
5、查询器类Query 数据访问层核心只有一个唯一的查询类:think\db\Query
所有的数据库查询都使用了PDO的预处理和参数绑定机制
虽然我们始终使用Db类操作数据库,而实际上大部分方法都是由查询器类提供的方法
6、生成器类Builder 生成类一般不需要自己调用,而是由查询类自动调用的
7、数据库的调试模式和应用的调试模式是两个不同的概念。
8、Db类的方法都是静态调用(不需要去实例化think\Db类)
9、一般来说并不建议在控制器的操作方法中直接操作数据库Db类
10、对数据表的CURD操作,除了select和存储过程调用使用query方法之外,其它的操作都使用execute方法
11、数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数
12、事务的支持由连接器类来完成,但查询器类中也对事务进行了封装调用,mysql需要使用InnoDB引擎。
13、事务模型、Db类都可以使用,使用方法一样。
相关文章推荐
- thinkphp5 数据库和模型详解 之3 模型和对象
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
- thinkphp5 数据库和模型详解 之4 模型数据处理(核心)和高级用法
- ThinkPHP学习笔记(五)使用模型操作数据库之CURD
- ThinkPHP数据库基础配置
- 详解dotConnect for Oracle创建数据库和模型
- 数据库基础--数据模型
- ThinkPHP第十四天(显示TRACE界面配置,关联模型详解定义)
- JSP数据库基础知识 语法详解
- ThinkPHP中视图模型详解.
- 数据库系统基础教程三:高级数据库模型的表示
- ThinkPHP中RBAC数据库详解
- MySQL关系型数据库基础理论详解
- ThinkPHP中RBAC数据库详解
- 数据库技术基础之数据模型
- ThinkPHP中RBAC数据库详解
- 数据库基础知识:SQL中的IIF语句详解
- ThinkPHP中RBAC数据库详解
- [数据库基础]——索引详解
- ThinkPHP关联模型详解 推荐