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 时,主要需...

Yii2 - 数据库访问对象

配置好数据库连接后,你就可以通过下面的语法来使用了: 1 $connection = \Yii::$app->db; 你可以参考 [[yii\db\Connection...
  • xmlife
  • xmlife
  • 2015年05月29日 16:17
  • 797

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

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

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

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

EntityFramework、Dapper vs 草根框架性能大比拼,数据库访问哪家强?

来源:http://www.cnblogs.com/so9527/p/5674498.html   市面上 ORM 如 Dapper, Mybatis.Net, EntityFramework ...

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo

ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建   前言:这篇博客我们继续来实现我的权限系列,这个博客一段时间也没有写了,重点是我在想还写不写,最终我决定...
  • txqqnet
  • txqqnet
  • 2013年10月10日 20:57
  • 1583

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

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

Spring+Mybatis+Mysql搭建分布式数据库访问框架

一、前言 用Java开发企业应用软件, 经常会采用Spring+MyBatis+MySQL搭建数据库框架。如果数据量很大,一个MYSQL库存储数据访问效率很低,往往会采用分库存储管理的方式。本文...

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

org.hibernate hibernate-core 3.6.0.Final
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:YII框架数据库访问
举报原因:
原因补充:

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