Daject初探 - 一个开源关系型数据库对象关系映射(ORM)模型
Daject简介
Daject是用php写的一个关系型数据库抽象模型,通过该模型,可以在不写任何SQL或写很少的SQL就能执行大多数数据库查询操作。Daject具有面向对象,跨数据库的优点,通过数据库驱动的支持,代码能够非常方便的在主流的各种关系型数据库之间迁移。
github地址:https://github.com/kasonyang/Daject
如何Daject
假定数据库里有一张名为user的表,字段为id,name,age,主键为id
首先,我们先将Daject引入
include 'Daject/Daject.php';
然后,我们创建一个Table模型
class UserTable extends DajectTableBase{ protected $keys = array('id'); }
注意类的名称,命名规则为:表名+Table
为了能够正常使用Daject查询数据,我们需要先对Daject进行初始化。
//新增一个数据库 DajectConfig::addDatabase('master', 'mysql', 'localhost', 'root', 'your_password', 'your_database_name', 'utf8'); //设置当前数据库 DajectConfig::setDatabase('master', 'master'); //设置当前数据库前缀 DajectConfig::setTablePrefix('');
接下来,我们就可以对数据库进行CURD操作了
//实例化UserTable $table = new UserTable(); //读取user表的前10条记录 $data = $table->select(10); foreach($data as $d){ echo 'id:',$d['id'],';name:',$d['name']; } //插入一条记录 $table->insert(array('name' => '张三','age' => 20)); //增加where条件 $table->where(array('name'=>'张三')); //更新数据 $table->update(array('age'=>25)); //删除数据 $table->delete();
注意看上面的代码,整个代码中并未出现任何SQL语句,但是我们已经完成了常见的select,insert,update,delete操作。事实上,当我们访问select(),insert(array),update(array)和delete方法时,Daject会自动为我们生成SQL并执行,然后返回数据给我们。由于不用写SQL,大大的减少了我们在写SQL上浪费的时间,同时降低了SQL语法错误的概率。
当然,上面只是Daject的一些基本操作,还有更多的关于Daject的知识,我会在以后的文章给大家慢慢分享!