我正在开发的项目在其所有样板代表中使用直接的JDBC数据访问,并且不使用任何事务.我觉得使用事务并简化数据访问方法的编写方式很重要,特别是当前正在进行一些更改.该项目已经存在了很长一段时间,并不适合ORM框架.它也使用了很多Singletons(呃)并解开它以使它能够使用依赖注入将是相当多的工作,我不认为我可以说服任何人我们现在应该这样做.
我喜欢Spring JDBC的界面,特别是通过它SimpleJdbcTemplate
.我的问题是如何为此启用一些简单的(每个servlet请求)事务,而不必在每个数据访问方法或使用Spring IoC容器或AOP中以编程方式设置任何内容.我玩过我自己的架构,最终得到一个类似于SimpleJdbcTemplate
s 的接口,当在请求的上下文中调用它时,可以使用单个请求本地连接和事务(通过ServletRequestListener
a ThreadLocal
).它似乎运行良好,但我认为使用像Spring JDBC这样的好的外部库会更好.
有人对此有经验吗?
也许您可以使用TransactionTemplate和TransactionCallback,如程序化事务管理中所述?