Daject初探 - 一個開源關係型數據庫對象關係映射(ORM)模型

Daject簡介

Daject是用php寫的一個關係型數據庫抽象模型,經過該模型,能夠在不寫任何SQL或寫不多的SQL就能執行大多數數據庫查詢操做。Daject具備面向對象,跨數據庫的優勢,經過數據庫驅動的支持,代碼可以很是方便的在主流的各類關係型數據庫之間遷移。php

github地址:https://github.com/kasonyang/Dajectmysql

如何Daject

假定數據庫裏有一張名爲user的表,字段爲id,name,age,主鍵爲idgit

首先,咱們先將Daject引入github

include 'Daject/Daject.php';

而後,咱們建立一個Table模型sql

class UserTable extends DajectTableBase{
    protected $keys = array('id');
}

注意類的名稱,命名規則爲:表名+Table數據庫

爲了可以正常使用Daject查詢數據,咱們須要先對Daject進行初始化。spa

//新增一個數據庫
DajectConfig::addDatabase('master', 'mysql', 'localhost', 'root', 'your_password', 'your_database_name', 'utf8');
//設置當前數據庫
DajectConfig::setDatabase('master', 'master');
//設置當前數據庫前綴
DajectConfig::setTablePrefix('');

接下來,咱們就能夠對數據庫進行CURD操做了code

//實例化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的知識,我會在之後的文章給你們慢慢分享!blog

相關文章
相關標籤/搜索