事务管理

Demika对数据库访问的支持是基于命令模式的,事务控制也是在执行命令时进行,如:

DbAccessUtils.save(entity)实际上内部也是委托DbAccessUtils.execute(DbAccessUtils.newSaveCommand(entity))来执行的。

 所以如果业务相对复杂一些,多部操作需要施加事务控制的也很简单,可参考如下代码:

CompositeCommand compositeCmd=new CompositeCommand();
//第一步 保存用户信息
TestUser user=new TestUser();
user.setName("shilei02");
compositeCmd.addCommand(DbAccessUtils.newSaveCommand(user));
//第二步 保存部门信息
TestDept dept=new TestDept();
dept.setName("测试部门");
compositeCmd.addCommand(DbAccessUtils.newSaveCommand(dept));
//在事务中执行复合命令(这样会保证用户和部门保存要么都成功要么都失败)
DbAccessUtils.execute(compositeCmd);

土豪请注意: 如果您觉得此文有帮助,可以给支付宝账户zuiyanwangyue@126.com转账进行打赏(可扫描右侧二维码),您的捐助将被用于完善此网站的功能和内容。
加入我们团队: 如果你是技术控并且愿意分享自己掌握的知识,欢迎加入我们团队,请联系QQ:421712311 如本文未能解决您面临的问题,也欢迎随时和我联系以便进一步探讨。

评论列表[0]