WEB开发网
开发学院软件开发Java 借助 BeanKeeper 快速实现对象持久化 阅读

借助 BeanKeeper 快速实现对象持久化

 2010-06-18 00:00:00 来源:WEB开发网   
核心提示: findSingle 方法返回单个对象,当查询到第一个满足条件的记录后,借助 BeanKeeper 快速实现对象持久化(7),即停止查询,返回结果,相对于 Hibernate 等框架要简单得多,同时它也支持复杂的查询和事务功能,事务控制事务指的是一系列原子的数据库操作,在我们的上下文中指的是对象

findSingle 方法返回单个对象,当查询到第一个满足条件的记录后,即停止查询,返回结果。

事务控制

事务指的是一系列原子的数据库操作,在我们的上下文中指的是对象操作。这一些操作要么是所有操作都成功完成,事务完成提交;要么是某一操作失败,数据回滚到事务开始前的状态。

BeanKeeper 目前只支持用户管理的事务界限划分,这就意味着你要指定事务的开始和事务的结束。即使你不显示地定义事务,事务其实也是隐含地存在的,因为你对 store 的每个操作(比如 save() 和 remove() 方法)都会隐式地创建一个事务,如果这个操作的某一环节出现了错误,这个事务将会回滚。

事务跟踪器(Transaction tracker)负责管理应用中的所有事务。如果你想跟踪事务的提交和回滚事件,你可以给事务跟踪器添加监听器,这样当提交和回滚操作进行时你将可以得到通知。

TransactionListener 接口包括两个方法:

void transactionCommited(Transaction transaction);

void transactionRolledback(Transaction transaction);

注意:这些方法得到触发这个事件的事务对象时,这些事务已经结束了,所以你不能利用它们去执行操作。同样地,当你从跟踪器中获取到事务对象,并执行某些数据库相关的操作时,为避免形成死循环,此时跟踪器中的事件将不会再被触发。

清单 4. 添加事务监听器代码

TransactionTracker tt= store.getTransactionTracker(); 
tt.addListener(new TransactionListener(){ 
  @Override 
  public void transactionCommited(Transaction transaction) { 
    System.out.println("Transaction Commited"); 
  } 
 
  @Override 
  public void transactionRolledback(Transaction transaction) { 
    System.out.println("Transaction Rolledback"); 
  } 
  
}); 

结束语

通过上文介绍,我们可以看出借助 NetMind BeanKeeper,我们不需要任何配置,只需使用 BeanKeeper 的三个接口便可实现将对象保存到关系数据库中,相对于 Hibernate 等框架要简单得多。同时它也支持复杂的查询和事务功能,可满足大部分应用场景的需要。

本文示例源代码或素材下载

上一页  2 3 4 5 6 7 

Tags:借助 BeanKeeper 快速

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接