借助 BeanKeeper 快速实现对象持久化
2010-06-18 00:00:00 来源:WEB开发网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 等框架要简单得多。同时它也支持复杂的查询和事务功能,可满足大部分应用场景的需要。
本文示例源代码或素材下载
Tags:借助 BeanKeeper 快速
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接