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的知识,我会在以后的文章给大家慢慢分享!

posted @ 2014-03-02 21:48  kason  阅读(1144)  评论(0编辑  收藏  举报