php设计模式 DAO(数据访问对象模式)
<?php
/**
* 数据访问对象(Data Access Object) 示例
*
* @create_date: 2010-01-04
*/
class BaseDAO
{
var $_db = null;
var $_table = null;
function BaseDAO($config)
{
$this->_db = new MysqlDB(); // 这里的不能进行操作
}
/**
* 获取处理
*
* @param array $filter // 过滤条件
* @param string $field // 获取字段
* @param int $page // 当前页
* @param int $limit // 页数
*/
function fetch($filter = array(),$field = "*",$page = 1,$limit = null)
{
$this->_db->select($filed)->from($this->_table)->where($filter)->limit($page,$limit);
return $this->_db->execute();
}
function update(){}
function delete(){}
function insert(){}
}
class MemberDAO extends BaseDAO
{
var $_table = "member";
}
$oMember = new MemberDAO();
$oMember->fetch();
/**
* 常用到的地方:
* MVC中model层基类
*/
?>
相关推荐
-
浅谈对于DAO设计模式的理解
为了降低耦合性,提出了DAO封装数据库操作的设计模式. 它可以实现业务逻辑与数据库访问相分离.相对来说,数据库是比较稳定的,其中DAO组件依赖于数据库系统,提供数据库访问的接口. 一般的DAO的封装由以下另个原则: · 一个表对应一个表,相应地封装一个DAO类. · 对于DAO接口,必须由具体的类型定义.这样可以避免被错误地调用. 在DAO模式中,将对数据的持久化抽取到DAO层,暴露出Service层让程序员使用,这样,一方面避免了业务代码中混杂JDBC调用语句,使得业务落实实现更加清晰.
-
java 设计模式(DAO)的实例详解
java 设计模式(DAO)的实例详解 应用场景:在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持久化的过程中面临诸多问题(如:数据源不同.存储类型不同.供应商不同.访问方式不同等等),请问如何能以统一的接口进行数据持久化的操作? 其实这个我没学号(≧ ﹏ ≦).我的理解就是一个产品面向的用户不是单一的,所以我们要兼容许多情况如前面提到的数据源不同.存储类型不同.供应商不同.访问方式不同等等. ★ 解决方案 DAO的理解: 1.DAO其实是利用组合工厂模式来解决问
-
php设计模式 DAO(数据访问对象模式)
复制代码 代码如下: <?php /** * 数据访问对象(Data Access Object) 示例 * * @create_date: 2010-01-04 */ class BaseDAO { var $_db = null; var $_table = null; function BaseDAO($config) { $this->_db = new MysqlDB(); // 这里的不能进行操作 } /** * 获取处理 * * @param array $filter // 过
-
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
本文实例讲述了PHP设计模式之数据访问对象模式(DAO)原理与用法.分享给大家供大家参考,具体如下: 这个数据访问对象模式主要就是描述了如何创建透明访问数据源的对象,这种设计模式对于同时学过PHP和MySQL的人来说,是一个全新的和令人兴奋的概念,并且这种设计模式的目的就是为了解决重复与数据源抽象化这两种特定的问题. 我们可以先创建一个数据访问对象设计模式的对象,这个数据访问对象封装了创建sQL调用.减少实例创建的复杂性和重复以及更新进程的智能方式,并且,这个数据访问对象的使用者不会知道实际使用
-
JS设计模式之数据访问对象模式的实例讲解
引言 HTML5 提供了两种在客户端存储数据的新方法:localStorage.sessionStorage,他们是Web Storage API 提供的两种存储机制,区别在于前者属于永久性存储,而后者是局限于当前窗口的数据传递,存储在其中的数据会在当前会话结束时被删除.localStorage.sessionStorage的具体内容在这里就不多做介绍了,我们主要探讨一下在实际开发中怎样合理使用他们. 问题 大部分网站会将一些数据(如:用户Token)存储在前端,用来实现页面间的传值,对于一些大
-
Java的Spring框架中DAO数据访问对象的使用示例
Spring DAO之JDBC Spring提供的DAO(数据访问对象)支持主要的目的是便于以标准的方式使用不同的数据访问技术, 如JDBC,Hibernate或者JDO等.它不仅可以让你方便地在这些持久化技术间切换, 而且让你在编码的时候不用考虑处理各种技术中特定的异常. 为了便于以一种一致的方式使用各种数据访问技术,如JDBC.JDO和Hibernate, Spring提供了一套抽象DAO类供你扩展.这些抽象类提供了一些方法,通过它们你可以 获得与你当前使用的数据访问技术相关的数据源和其
-
Yii学习总结之数据访问对象 (DAO)
Yii提供了强大的数据库编程支持.Yii数据访问对象(DAO)建立在PHP的数据对象(PDO)extension上,使得在一个单一的统一的接口可以访问不同的数据库管理系统(DBMS).使用Yii的DAO开发的应用程序可以很容易地切换使用不同的数据库管理系统,而不需要修改数据访问代码. 数据访问对象(DAO) 对访问存储在不同数据库管理系统(DBMS)中的数据提供了一个通用的API. 因此,在将底层 DBMS 更换为另一个时,无需修改使用了 DAO 访问数据的代码. Yii DAO 基于 PHP
-
使用JDBC实现数据访问对象层(DAO)代码示例
JAVA是面向对象的语言,开发者在操作数据的时候,通常更习惯面对一个特定类型的对象,如一个用户就是一个User类的对象.DAO层需要做的,就是为上层提供充分的对象支持,让上层再也看不到具体的数据,而是一个个活生生的对象. 增加,删除,查询和修改操作是DAO需要做的最基本的4项操作.查询一般需要提供遍历查询和id查询,对于遍历查询,DAO需要提供User泛型的list对象,对于id查询则提供已经装配好数据的User对象,至于增加和修改操作,上层一般会提供一个User对象,DAO把User对象中的数
-
Java的MyBatis+Spring框架中使用数据访问对象DAO模式的方法
SqlSessionTemplate SqlSessionTemplate是MyBatis-Spring的核心.这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常.SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用. 当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会保证使用的SqlSession是和当前Spring的事务相关的.此外,它管理session的生命周期,包
-
php设计模式介绍之值对象模式第1/5页
例如:通常用一个对象描述一个日期.一个数字或者货币.日期.整数或美元的类定义是都是便于使用的.快捷.便于封装的,并且方便进行拷贝,相互比较,甚至是创建. 从表面上看,这些描述简单的对象很容易被执行:它们的语句非常少,在构造类时无论是应用于Customer还是SKU都没有什么不同.这个想法似乎是正确的,但是所谓的"似乎正确"很容易产生一些bug. 请看下面的代码,这是一个关于以美元给员工发放工资的对象的定义和执行操作.多数情况下,它的运行是没有问题的.(这个类被命名为BadDollar,
-
java 使用JDBC构建简单的数据访问层实例详解
本教程的目的是使用Java编写的分离的层去访问数据库中的表,这一层通常称为数据访问层(DAL) 使用DAL的最大好处是通过直接使用一些类似insert()和find()的方法简化了数据库的访问操作,而不是总是先做链接,再执行一些查询. 该层在其内部处理所有与数据库相关的调用和查询. 创建数据库 我们希望为用户创造一个简单的表,我们可以使用这些字段来创建 id int name varchar(200) password varchar(200) age in
-
浅析php设计模式之数据对象映射模式
php中的设计模式中有很多的各种模式了,在这里我们来为各位介绍一个不常用的数据映射模式吧,希望文章能够帮助到各位. 数据映射模式使您能更好的组织你的应用程序与数据库进行交互. 数据映射模式将对象的属性与存储它们的表字段间的结合密度降低.数据映射模式的本质就是一个类,它映射或是翻译类的属性或是方法到数据库的相应字段,反之亦然. 数据映射的作用(工作)就在于能对双方所呈现出的信息的理解,并能对信息的存取进行控制,如根据存储在数据表中的信息 重建新的域对象,或是用域对象的信息来更新或删除数据表中的相关
随机推荐
- Node.js生成HttpStatusCode辅助类发布到npm
- java 中动态代理(JDK,cglib)实例代码
- Java从控制台读入数据的几种方法总结
- Position属性之relative用法
- PHP生成随机密码方法汇总
- JavaScript字符串对象split方法入门实例(用于把字符串分割成数组)
- Android优雅的方式解决软键盘遮挡按钮问题
- linux下perl操作mysql数据库(需要安装DBI)
- Linux安装NodeJs并配合Nginx实现反向代理
- PHP反射机制用法实例
- redis实现简单队列
- shell脚本中一些特殊符号
- 在B/S开发中经常用到的JavaScript技术第1/3页
- JavaScript将相对地址转换为绝对地址示例代码
- java冒泡排序简单实例
- Java concurrency线程池之Callable和Future_动力节点Java学院整理
- spring security国际化及UserCache的配置和使用
- C#微信接口之推送模板消息功能示例
- <b>一些常用的php函数</b>
- JS实现自定义弹窗功能