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

Daject初探 - 一个开源关系型数据库对象关系映射(ORM)模型的更多相关文章

  1. Android数据库框架——ORMLite轻量级的对象关系映射(ORM)Java包

    Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 事实上,我想写数据库的念头已经很久了,在之前写了一个答题系统的小项目那只是初步的带了一下数据库,数据库是比较强大的, ...

  2. 对象关系映射ORM

    对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效 ...

  3. 优酷项目之 ORM(数据库对象关系映射)代码重写

    前言: 我们在操作数据库时候一般都是通过sql代码来操作mysql数据库中相关数据,这就需要懂得sql语句,那么怎么样才能在不懂sql语句的情况下通过我们所学的python代码来实现对mysql数据库 ...

  4. Django 源码小剖: Django 对象关系映射(ORM)

    引 从前面已经知道, 一个 request 的到来和一个对应 response 的返回的流程, 数据处理和数据库离不开. 我们也经常在 views.py 的函数定义中与数据库打交道. django O ...

  5. Python 3 对象关系映射(ORM)

    ORM 对象关系映射 Object Relational Mapping 表 ---> 类 字段 ---> 属性 记录 ---> 对象 # mysql_client.py impor ...

  6. web前端基础知识-(八)Django进阶之数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

  7. Python之路【第十九章】:Django 数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

  8. Django之数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

  9. web框架-(四)Django进阶之数据库对象关系映射

    Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...

随机推荐

  1. PHP分页

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Java之累加和

    所谓累加算法,就是数学中数列求的算法,这都是司空见惯了的.下面我们用java求: package com.cdp.leijiahe; import java.util.Scanner; public ...

  3. OC4_遵守多个协议

    // // Calulator.h // OC4_遵守多个协议 // // Created by zhangxueming on 15/6/24. // Copyright (c) 2015年 zha ...

  4. StreamWriter和StremReader简单的用法

    string str = "中国";//写入的内容 string path = @"e:\1.txt";//文件路径 StreamWriter sw = new ...

  5. UI布局

    1,初始化控件一般在onCreate()中完成,由于构造器中尚未完成控件加载,不能在其内初始化控件. 2,Activity子类必须含有无参构造.Intent.startActivity()方法调用的是 ...

  6. 移动Web轮播图IOS卡顿的问题

    晚饭前,被测试吐槽说,banner轮播手动左右滑的时候会卡顿.我一看不科学啊,大水果手机怎么会卡顿.我一看测试手中拿的是iPod,我觉得大概是这小玩意性能不强悍,后来又拿来5S,依然会卡顿,有趣的是, ...

  7. zz 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件

    January 2nd, 2009 at 10:31 pm Linux 解压, Linux, tar, tar.bz2, tar.gz, tgz, zip, 压缩, 打包, 文档 这么多年来,数据压缩 ...

  8. acount

    #include<iostream> using namespace std; class account { public: int de( int i, double b, doubl ...

  9. WordPress使用360CDN替换google服务,解决WordPress打开速度变慢问题

    由于wordpress新版本中默认使用了一些google服务及google字体,由于google在天朝中的一些你懂的原因,造成wordpress在打开时被拖慢,这时可以用360推出的公共库CDN服务替 ...

  10. 基础学习总结(八)--HttpClient

    在Android开发中,Android SDK附带了Apache的HttpClient,它是一个完善的客户端.它提供了对HTTP协议的全面支持,可以使用HttpClient的对象来执行HTTP GET ...