`
dcj3sjt126com
  • 浏览: 1877860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Yii框架之DAO的基本操作

    博客分类:
  • YII
阅读更多

DAO的基本操作
Main.php中

\'writer\'=>array(
\'class\' => \'CDbConnection\',
\'connectionString\' => \'mysql:host=localhost;dbname=guestbook\',
//\'emulatePrepare\' => true,
\'username\' => \'root\',
\'password\' => \'123456\',
\'charset\' => \'utf8\',
),

1、 数据增加

$connection = Yii::app()->writer;
$sql = \"INSERT INTO `book`
(name,content,time) VALUES (:name,:content,:time)\";
$command = $connection->createCommand($sql);
$name = \'testName\'; //name字段的值
$content = \'testContent\';//content字段的值
$time = time(); //time字段的值
$command->bindParam(\":name\",$name,PDO::PARAM_STR); //其中的变量$name 必须以变量传值方式---不能直接给予实参
$command->bindParam(\":content\",$content,PDO::PARAM_STR);//其中的变量$content必须以变量传值方式---不能直接给予实参
$command->bindParam(\":time\",$time,PDO::PARAM_INT);//其中的变量$time 必须以变量传值方式---不能直接给予实参
$command->execute();

2、数据修改

$connection = Yii::app()->writer;
$sql = \"UPDATE `book` SET name = \'names\' WHERE id = :id\";
$command = $connection->createCommand($sql);
$id = 91145;
$command->bindParam(\':id\',$id,PDO::PARAM_INT); //其中的变量$ id 必须以变量传值方式---不能直接给予实参
$command->execute();

3、数据的删除

$connection = Yii::app()->writer;
$sql = \"DELETE FROM `book` WHERE id = :id\";
$command = $connection->createCommand($sql);
$id = 91145;
$command->bindParam(\':id\',$id,PDO::PARAM_INT); //其中的变量$ id 必须以变量传值方式---不能直接给予实参
$command->execute();

4、数据的查询

$connection = Yii::app()->writer;
$sql = \"SELECT * FROM `book` ORDER BY id DESC\";//如使用where 可采用绑定 例:WHERE id = :id
$command = $connection->createCommand($sql);
$result = $command->queryAll();
print_r($result);

DAO
1、 易用性比Active Record弱
2、 使用DAO,会繁琐的写sql语句,在日常的作业过程中,还可能会影响其开发效率
3、 应用程序的数据库操作性能会得到很大的提升
4、 失去了Yii模型中自身的一些验证功能—校验器(但是可以自定义模型,继承ActiveRecord类实现)
5、 分布式解决方案与Active Record一样,严格来说DAO更容易扩展(特别是在拆分表的的时候) 这条纯属于个人看法—需讨论得出最终结果

Active Record
1、 易用性比DAO强
2、 可以简化大量繁琐的sql语句,开发效率极高
3、 应用程序的数据操作性能没DAO好
4、 验证功能非常强大拥有校验器
5、 分布式服务器环境中扩展没DAO灵活 这条纯属于个人看法—需讨论得出最终结果

结论:
如果数据记录的查询量不是很多与并发不是很高 可以采用Active Record
查询量很大,并发很高 可以考虑DAO

分享到:
评论

相关推荐

    Yii框架快速入门

    Yii框架遵循MVC(Model-View-Controller)架构模式,提供了丰富的特性,如缓存管理、安全控制、数据库访问、表单验证等。它还支持AJAX,能够轻松创建动态Web应用。Yii的性能优秀,因为其代码经过了精心优化,且内建...

    Yii框架PDF中文文档

    测试是保证软件质量的重要手段之一,在Yii框架中有很好的支持。 #### 五、专题 **自动化代码生成**:通过Gii工具或其他方式自动生成代码,节省开发时间。 - **网址管理**:用于生成和解析URL。 - **验证和授权**:...

    Yii框架详解

    Yii框架提供了一系列预构建的组件,如数据库访问对象(DAO)、ActiveRecord、MVC(模型-视图-控制器)架构等,使得开发者能够快速地搭建和开发Web应用。其内置的代码生成工具Gii可以帮助自动生成常见的CRUD操作和...

    基于Yii 框架开发的博客

    回到这个基于Yii框架的博客项目,我们可以推测其基本架构和组成部分: - **用户模块**:包括用户注册、登录、个人资料管理等功能。可能使用了Yii的认证和授权机制,确保用户安全。 - **博客文章模块**:允许用户...

    YII框架翻译整理最终稿 -

    4. **丰富的功能**:Yii 内置了多种实用功能,包括缓存机制、安全防护、数据库访问对象(DAO)、ActiveRecord 模式、I18N 和 L10N 支持等。 5. **清晰的文档**:Yii 提供详尽的文档,便于开发者快速学习和上手。 **...

    php 框架yii 数据库 DAO

    在Yii中,约定一个类代表一个表,一个实例代表一行数据,从而极大地简化了CRUD(创建、读取、更新和删除)等基本数据操作。 #### 三、使用Yii DAO **1. 安装PDO及驱动** 为了使用Yii的DAO,需要确保安装了PDO扩展...

    yii框架PHP

    在描述中提到的"路由美化版本",指的是Yii框架的URL管理功能。Yii允许我们将复杂的URL结构转换为更友好的、易于理解和搜索引擎优化的形式。例如,一个原本参数化的URL "site/view?id=123" 可以被美化成 "site/view/...

    yii框架源代码

    快速,安全,专业的 PHP 框架 Yii 是一个高性能的,适用于开发 WEB2.0...Yii 自带了丰富的功能 ,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

    yii框架语言基础

    - Yii框架通过ActiveRecord和数据访问对象(DAO)两种方式提供了数据库操作的功能。 - ActiveRecord模式使得数据库操作更加简洁,而DAO提供更底层的数据库访问。 16. 测试 - 测试在Yii框架开发中占据重要地位,...

    yii框架中文手册教程

    ### Yii框架中文手册教程知识点概览 #### 一、Yii框架简介 - **定义与特点**:Yii是一个基于组件的高性能PHP框架,专为大型Web应用程序的开发而设计。其名称“Yii”代表着简单(Easy)、高效(Efficient)及可扩展...

    Yii框架文档(2010.7.18)

    ### Yii框架的基本概念 #### 模型-视图-控制器(MVC) MVC是Yii架构的核心,每个应用都由一系列模型、视图和控制器组成。模型负责与数据进行交互,视图负责展示数据,控制器负责接收用户输入并作出响应。 #### 入口...

    YII框架入门

    接下来我们将深入学习Yii框架的基本操作和使用。 ### 1. 安装基础版 首先,我们需要从[官方站点](https://www.yiichina.com/download)下载归档文件(源码)。确保你的环境满足Yii的运行要求,可以通过运行项目根...

    PHP Yii框架开发实例

    ### PHP Yii框架开发实例知识点详解 #### 一、部署Yii环境 **1.1 配置基础环境** ...此外,我们还了解了Yii框架的一些基本概念,如控制器、视图等。这些基础知识对于进一步学习和掌握Yii框架至关重要。

    yii框架资源上出纳

    在描述中提到的“yii框架好用,升级版本后的更加好用”,这指的是Yii框架的进化历程。Yii有两个主要版本:Yii 1.x和Yii 2.x。Yii 1.1是1.x系列的一个稳定版本,它在当时的PHP框架中已经非常出色,提供了MVC(Model-...

    青年文摘yii框架应用

    【Yii框架概述】 Yii是一个基于组件、高性能的PHP框架,专为Web 2.0应用程序设计。它提供了丰富的特性,包括MVC(Model-View-Controller)、DAO/ActiveRecord、I18N/L10N(国际化/本地化)、缓存、身份验证和基于...

    yii框架资源

    首先,Yii框架的核心特性包括: 1. **性能优化**:Yii采用了编译式缓存机制,如Smarty模板引擎的预编译和优化,使得运行时性能得以提升。此外,它还提供了数据访问对象(DAO)和ActiveRecord模式,有效减少了数据库...

    php yii框架,javascript webrtc库 ,视频通话系统(毕业设计).zip

    **Yii框架详解** Yii框架是一款基于组件的高性能PHP框架,它为开发复杂的Web应用提供了简洁、优雅的解决方案。Yii提供了丰富的特性,包括MVC(模型-视图-控制器)架构模式、数据库访问对象(DAO)、ActiveRecord、...

    yii项目源代码

    本项目源代码是基于Yii框架构建的一个实际应用,对于初学者而言,这是一个很好的学习资源,能够帮助他们深入理解Yii的工作原理和最佳实践。 首先,让我们详细了解一下Yii框架的核心特性。Yii提供了一种模型-视图-...

    yii framework(Yii)框架window版

    事实上,Yii是最有效率的PHP框架之一。  Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以...

Global site tag (gtag.js) - Google Analytics