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. 自定义Spring event

    通过Spring自定义event 首先我们定义我们的event类 package com.hyenas.spring.custom.event; import org.springframework. ...

  2. hdu 3308 LCIS 线段树

    昨天热身赛的简单版:LCIS.昨天那题用树链剖分,不知道哪里写错了,所以水了水这题看看合并.更新方式是否正确,发现没错啊.看来应该是在树链剖分求lca时写错了... 题目:给出n个数,有两种操作: 1 ...

  3. 浅谈iOS的Autolayout

    iOS 应用,通常是以界面(UI: User Interface)展示给用户. 没有界面的应用,对用户来说,将无所适从,总不至于罗列出一堆说明书吧. iOS开发,很大一部分工作量都花在界面布局上,有时 ...

  4. HTML页面中常见的一些小方法

    在<Head>标签中加   <meta http-equiv="pragma " content="no-cache"> <met ...

  5. Asp.Net复习篇之Asp.Net生命周期与Asp.Net页的生命周期

    Asp.Net生命周期与Asp.Net页的生命周期是一个比较重要的话题,有时可能似乎知道一些,但又说不出个所以然,而且时常把这两个概念混淆.现在也是该好好理清思路,把这两个概念搞懂. Asp.Net生 ...

  6. (js有关图片加载问题)dom加载完和onload事件

    引用旺旺的话...哈哈哈DOMContentLoaded事件表示页面的DOM结构绘制完成了,这时候外部资源(带src属性的)还没有加载完.而onload事件是等外部资源都加载完了就触发的.$.read ...

  7. Oracle 基础 导入数据库 删除用户、删除表空间、删除表空间下所有表

    导入数据库 在cmd下用 imp导入  格式: imp userName/passWord file=bmp文件路径 ignore = y (忽略创建错误)full=y(导入文件中全部内容); 例: ...

  8. 【Unity3D】Unity3D之 Resources.Load 动态加载资源

    [Unity3D]Unity3D之 Resources.Load 动态加载资源 1.Resources.Load:使用这种方式加载资源,首先需要下Asset目录下创建一个名为Resources的文件夹 ...

  9. FastSocket学习笔记~制定自已的传输协议~续~制定基于FastSocket的协议

    FastSocket这个东西上次我已经说过,它使用简单,功能强大,扩展灵活,目前在新浪的生产环境中已经被广泛使用,所以它的性能,安全等各方面我们绝对可以信赖,今天我们来说一个话题,和上一讲有关,这次我 ...

  10. PowerDesigner提示This data item is already used in a primary identifier.的处理

    原文链接: http://blog.csdn.net/lopper/article/details/5293545 今天同事在编制一个数据库脚本的时候,提示了This data item is alr ...