存储过程中的业务逻辑

时间:2014-08-03 13:09:40

标签: mysql jsp transactions acid

写一些关于存储过程的最佳实践的专家建议和第二意见。

我们已经到达ERP的阶段,我们正在构建交易输入功能。通过阅读几个论坛,我们决定将我们的业务逻辑封装在存储过程中,主要是因为:

  • 必须为输入的每笔交易更新多个行和表
  • 我们需要帐户更新的原子性
  • 我们需要事务更新的原子性:要么整个事务都要通过 - 我们需要在主数据库中更新事务数据时对特定帐户进行隔离(行锁定)。交易表

总结战略:

  1. 在视图(jsp)中输入事务数据
  2. 视图中的数据验证(jsp& js)
  3. 清理/验证模型中的数据
  4. 将交易插入交易表&获取transaction_id
  5. 根据事务类型调用特定的存储过程(每种事务类型都有一个SP)
  6. SP中的
  7. 一个。开始交易 湾获取需要更新的每个帐户代码的锁定 C。更新每个分类帐 d。如果成功则提交(在事务结束时自动释放所有锁) 即如果错误回滚(在事务结束时自动释放锁) F。返回错误/成功代码g。使用错误/成功更新视图

    我们在MySQL 5.6中使用InnoDB引擎。

    寻找我可以从你们那里获得的任何反馈......危险区域在哪里,也许是我们没有考虑的事情,你希望我考虑的事情。

    提前谢谢, ksheer

0 个答案:

没有答案