当前位置: 首页 > 工具软件 > Doctrine > 使用案例 >

Doctrine浅析

林礼骞
2023-12-01

1.使用框架操作数据库的几个需求

  1. 性能

    • ORM(Object-Relational Mapper)
      用操作类的方式操作数据库
    • 支持多种数据库
    • 支持多种第三方插件
  2. Doctrine简介

    1. 06年成立项目
    2. 代码开源,开发过程透明
    3. 良好的架构
      1. 可以独立使用
      2. 也能结合框架使用
    4. 功能强大,速度快
  3. 为何选择Doctrine

    1. 一些历史原因
    2. 获得Symfony的第三方bundle的支持
  4. Symfony2可不可以使用别的数据库操作软件

    1. Propel
    2. Zend DB
    3. 其他的(不推荐)

5.代码操作数据库demo

取得对象
	$user=$em->getRepository('User')->find(array('id'=>1))
		findOneBy()获取一条
	$user->setName('name');修改name字段值为name
	实例化数据库
	$em->presist($user);
	对比生成Updata语句
	$em->flush
一对多
	foreach($user->getAddressBooks() as $addressBook){
		$addressBooks->getName()
	}

6.Doctrine2的基本概念

  1. 实体对象-entitiy
    1. 字段
    2. 关系

  2. 对象操作集合-Repository

  3. Proxy Class

  4. DQL数据库查寻语言

    1. $query=$em->createQuery(
    	select u fromDataBundle:User p where u.name=:name
    )->setParameter('name','scourgen')
    
    2. $query2=$em->getRepository('User')->createQueryBuilder('U')
    	->where('u.name = :name')
    	->setParameter('name','scourgen')
    	->getQuery();
    

7.事件监听机制
8.进行数据库设计

  1. 实际数据库关系和主要字段
  2. 配置Symfony2数据库连接
  3. 配置Entity
  4. 生成get/set/repository
  5. 生成真实数据库
 类似资料: