thinkphp5 数据库和模型详解 之1 数据库基础

来源:互联网 发布:打印机端口没有usb001 编辑:程序博客网 时间:2024/06/04 20:00
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类都可以使用,使用方法一样。
0 0
原创粉丝点击