模型1篇(原生查询的实现、链式操作、直接操作数据库的CRUD)

防止SQL注入的两种参数绑定方式:

第一种,使用?参数绑定

第二种(推荐),使用命名占位符进行参数绑定(salary为数据表的字段名)

生成类是由查询类方法调用的,上图的查询请求包括增删改查操作,如果是查询操作则返回查询结果集,其他操作返回受影响行数

DB.php:数据库入口文件,Qurey.php为查询类文件、Builder.php为生成类文件、Connection.php为连接器类文件

链式操作功能:快速生成查询条件的

链式操作的方法:都来自Qurey.php为查询类文件

链式操作返回的值:返回当前的查询对象

第一个查询方法不能完成查询请求就调用第二个查询方法,以此类推,直到完成所有查询条件的构造,最终生成一条符合规范的sql语句

查询构造器生产查询条件

如果上图中的表达式是相等的关系,那么这个表达式是可以省略的(相等关系是默认的)

推荐用第三种格式,叫闭包查询方式

表达式相等关系:

第二种:

第三种:闭包方式(函数中的函数,方法中的方法,总之可以简单理解为嵌套,在此处可以理解为嵌套的匿名函数)

1.普通

2.引入外部变量

(此图为上图的简写方式,姓名、工资为别名)

插入单条记录:

插入多条记录:


 

删除:delete不支持闭包

删除单条记录

删除多条记录:

删除全部记录:

更新单条记录:

自增:

自减:

上图setInc变为setDex

延时更新(3s后更新):避免频繁操作数据库带来的性能开销

查询某条记录的某个字段:

查询某列的值:

查询多列的值:

但是我们在开发过程中不直接操作数据库,而是通过模型来操作数据库

猜你喜欢

转载自blog.csdn.net/wocaa2046/article/details/84854265
今日推荐