`

PHP ORM框架ezpdo(3)之事务

阅读更多
  ezpdo也有事务处理了,可以支持自动事务回滚和手工回滚
首先看自动回滚的事务

// 获得 EZPDO管理器
$m = epManager::instance();
 

$os = $m->find("from SomeClass as c where c.var = 'x'");
if (!$os) {
  echo "no object found\n";
  exit(-1);
}
 
$o = $os[0];
 
//用start_t()开始事务
$m->start_t();
 
// 改变值了
$o->var = 'y';
 
// 结束事务提交
$m->commit_t(); // by default: auto-rollback
 
另外是需要用try catch的,手工来回滚
// get the EZPDO manager
$m = epManager::instance();
 
// find an object using EZOQL
$os = $m->find("from SomeClass as c where c.var = 'x'");
if (!$os) {
  echo "no object found\n";
  exit(-1);
}
 
$o = $os[0];
 
// call manager to start transaction
$m->start_t();
try {
 
  // change the value of var in object
  $o->var = 'y';
 
  // end transaction and save changed objects
  $m->commit_t(false); // false: no auto rollback
 
}
catch (Exception $e) {
 
  // something wrong. rollback to old values
  $m->rollback_t();
 
  // do something here
  // ......
}
 
// 'y' if transaction successful; 'x' if failed.
echo $o->var;

 
分享到:
评论

相关推荐

    sqlite3的ORM框架

    SQLite3的ORM(Object-Relational Mapping)框架是一种在C++编程中将数据库关系模型与对象模型进行对应的技术。ORM框架使得开发者可以使用面向对象的方式来操作数据库,避免了直接编写SQL语句,提高了开发效率和代码...

    ORM框架ORM框架ORM框架ORM框架

    ORM(Object-Relational Mapping,对象关系映射)框架是一种软件技术,用于将关系数据库的数据映射到对象上,使得开发者可以使用面向对象的方式来处理数据库操作,而无需直接编写SQL语句。ORM框架的主要目标是简化...

    主流ORM框架技术应用

    ### 主流ORM框架技术应用——Hibernat与MyBatis详解 #### 一、MVC设计模式概述 在深入探讨ORM框架之前,我们先来了解一下软件工程中的一个重要设计模式——MVC(Model-View-Controller),它对于理解后续ORM框架的...

    简单高效的ORM框架

    在现代软件开发中,ORM框架扮演着重要的角色,它使得开发者无需关注底层SQL语句,就能方便地进行数据操作,大大提高了开发效率。 "简单高效"是ORM框架的重要特征。简单意味着易于理解和使用,让开发者能够快速上手...

    PHP的ORM框架PHPNORM.zip

    NORM 是一个 PHP 简单的 ORM 框架,支持 MySQL 。 标签:PHPNORM

    基于java 简易ORM 框架实现(一)

    3. **CRUD操作**:ORM框架提供了一套API,使得开发者可以通过调用方法实现对数据库的操作。例如,`save()`用于插入数据,`update()`用于更新数据,`delete()`用于删除数据,`find()`用于查询数据。这些方法内部会...

    基于java 简易ORM 框架实现(二)

    此外,事务管理也是ORM框架中不可或缺的一部分。作者可能会讨论如何集成Spring框架的事务管理功能,以确保数据的一致性和完整性。这包括对@Transactional注解的理解,以及如何配置事务管理器。 文件名“orm”可能...

    轻量级Net的ORM框架

    - **事务支持**:对于需要保证数据一致性的操作,LSR.ORM可能提供了事务管理功能。 - **自动映射**:可能支持自动将数据库结果集映射到对象实例,减轻开发工作量。 - **性能优化**:可能包含缓存策略,避免频繁的...

    ORM框架实例代码

    此外,ORM框架还提供了一些高级特性,如事务管理。在Easy4net中,你可以使用开始事务、提交事务和回滚事务的方法来确保一系列数据库操作的原子性。这对于处理需要一致性的复杂业务逻辑至关重要。 实体关系映射也...

    MongoDb ORM 框架(构建类似 sql 的体验,体验风格与 wood 类似)

    4. **事务支持**:虽然MongoDB本身不完全支持ACID事务,但一些ORM框架可能提供了事务管理的机制,以确保数据的一致性。 5. **关联关系**:在ORM中,可以定义对象之间的关联,如一对一、一对多、多对多关系,使得处理...

    .net ORM 框架

    2. **自动化事务管理**:ORM框架可以自动处理事务,确保数据一致性。 3. **查询构造器**:提供Linq(Language Integrated Query)或其他查询方式,使得数据库查询更加直观和便捷。 4. **延迟加载**:只在需要时加载...

    巧用工具封装属于自己的ORM框架【XutilsDbUtil】分装

    在这个主题中,我们将探讨如何封装一个自定义的ORM框架,以XutilsDbUtil为例。 XutilsDbUtil是基于XUtils框架的一个数据库操作组件,它简化了Android开发中的数据库操作。XUtils是由百度开源的一个综合性框架,包含...

    方便上手的 Elasticsearch ORM 框架.zip

    方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 ...

    ASP.NET 自已封装的ORM 框架版本2

    ASP.NET 自己封装的ORM框架版本2是一种针对.NET平台,基于C#语言的轻量级对象关系映射(ORM)工具。ORM框架允许开发者通过面向对象的方式来操作数据库,避免了直接编写SQL语句,提高了开发效率和代码的可维护性。在...

    自制ORM框架源代码

    《自制ORM框架源代码》 在Java开发领域,ORM(Object-Relational Mapping)框架是连接数据库和对象模型的重要工具,它可以将数据库操作转化为面向对象的编程方式,简化了数据库的使用。本项目是一个基于JDK 6.0的...

    Spring整合其他ORM框架

    在整合 ORM 框架时,通常推荐使用声明式事务管理,通过 @Transactional 注解,可以将事务管理逻辑与业务代码分离,提高代码的可维护性。 6. **AOP(面向切面编程)**:Spring 的 AOP 功能可以方便地实现日志记录、...

    orm框架

    ORM(Object-Relational Mapping,对象关系映射)框架是一种软件设计技术,它允许程序员以面向对象的方式操作数据库,而无需直接处理SQL语句。在Java、.NET等编程环境中,ORM框架极大地简化了数据库操作,提高了开发...

    SqliteORM,一个很好的Sqlite ORM框架

    Sqlite ORM 是一个简单的C#类,对Sqlite的操作进行了封装,主要功能包括:表定义、生成,访问,更新等,其中,支持,多表的连接操作,语法类似Linq语法,使用非常方便,附加了使用说明文档。 例如,添加记录操作为...

    我的 ORM 框架

    使用运算符重载,实现 ORM 框架里的 INSERT、UPDATE、DELETE 和 SELECT 语句动态生成。SELECT 语句支持 INNER JOIN、LEFT OUTER JOIN 和RIGHT OUTER JOIN 多表联合查询,但不支持同一表的联合查询。 代码中只实现了 ...

Global site tag (gtag.js) - Google Analytics