YII框架数据库访问

原创 2016年08月28日 22:52:27
  • 安装Yii
  • Dao数据库访问
  • QueryBuilder器
  • 活动记录
  • 数据库迁移

1.安装YII

Yii2的基本应用程序模板
Yii2的高级应用程序模板

##进入默认下载好basic 目录##
cd basic/

##启动yii服务##
php Yii serve

##test Yii 服务##
http://127.0.0.1:8080/index.php

2.Dao数据访问

Yii Dao 支持大部分主流的数据库;Yii 安装成功之后默认在config\db.config 生产数据库配置文件
##连接单个数据库##
return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2basic',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
];

##连接多个数据库##
'components' => [
        // ...
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=example',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
    ]

获得的数据库连接: db=\Yii::app->db;

##查询所有数据##
$posts = Yii::$app->db->createCommand('SELECT * FROM post')
            ->queryAll();

##查询一行数据##
$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=1')
           ->queryOne();

##查询单列数据##
$titles = Yii::$app->db->createCommand('SELECT title FROM post')
             ->queryColumn();

##查询总数 没有的话返回false##
$count = Yii::$app->db->createCommand('SELECT COUNT(*) FROM post')
             ->queryScalar();

##使用占位符查询, 防sql注入##
$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status=:status')
           ->bindValue(':id', $_GET['id'])
           ->bindValue(':status', 1)
           ->queryOne();

Yii 打开事务

$db = Yii::$app->db;
##打开事务##
$transaction = $db->beginTransaction();
try {
    $db->createCommand($sql1)->execute();
    $db->createCommand($sql2)->execute();
    // ... executing other SQL statements ...

    ##提交事务##
    $transaction->commit();  

} catch(\Exception $e) {
    ##回滚事务##
    $transaction->rollBack();
    ##返回自定义异常##
    throw $e;
}

待续…

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Yii学习笔记-数据库访问

DAO(Database Access Objects) DAO是Yii中一个建立在 PHP PDO 之上的数据访问层 ,DAO为不同的数据库提供了一套统一的API。使用 Yii DAO 时,主要需...

更简洁的C++数据库访问框架-soci

更简洁的C++数据库访问框架-soci 一直以来,笔者都在不停寻找一种更人性化的数据库访问方式(并不是说默认的方式不好,而是有时候的确在模块化设计中不太方便)。 后来有幸在php中找到code...
  • gxp
  • gxp
  • 2012-02-29 15:17
  • 1948

CtripDal 携程数据库访问框架简析

最近学习了下携程的数据库访问框架,网上有比较完整详细的学习方案,本篇也是基于前者的学习文档做简单的介绍,希望能给初学者一些帮助。 原文链接地址可以点这里:http://www.oschina.net/...

开源轻量级数据库访问框架

本框架为开源框架,旨在简化用户的数据库操作,提供便捷的数据库访问服务而封装。该框架依赖于JDBC,并且基于原生JAVA SE框架的封装。框架对比对于经常进行数据库开发和JAVA EE开发的编程人员而言...

Java数据库访问之持久层框架:Hibernate基础

org.hibernate hibernate-core 3.6.0.Final

[开源].NET数据库访问框架Chloe.ORM

一款轻量、高效的.NET C#数据库访问框架(ORM)。查询接口借鉴linq(但不支持linq)。借助lambda表达式,可以完全用面向对象的方式就能轻松执行多表连接查询、分组查询、聚合函数查询、插入...

Spring+Hibernate整合框架下DAO的数据库访问方法

Spring对Hibernate的DAO实现提供了良好的支持,主要有如下两种方式的DAO实现方法: 第一种:基于Hibernate3.0实现DAO (一)直接使用Hibernate API(使用o...

简单实用 利用反射机制写的JAVA数据库访问控制框架

javaweb中当bean层的属性值超多的

Android开发框架xUtils3.x新手教学(一)SQLite数据库访问神器dBUtils

废话不说,想把大象装冰箱,总共分几步? 零、假设一个需求 设计一个App,保存学生以及他们的考试成绩。学号是学生们的唯一身份标示,成绩分为数学 语文 英语 三类 要求: 1,添加 删除 查询学生 2,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)