DAO和Connections

MyT*_*tle 2 java dao design-patterns

我应该在哪里打开和关闭与存储库的连接?在文章" 不要重复DAO "中写道:

DAO不负责处理事务,会话或连接.这些是在DAO之外处理的,以实现灵活性.

但有些人建议我将@Resource DataSource对象注入DAO类并处理DAO方法中的所有连接...即每个CRUD操作都应该打开和关闭与存储库的连接.

Buh*_*ndi 5

接受文章的推荐.

您希望应用程序容器最好管理资源和连接池.如果您的连接已配置事务管理,则容器将能够管理您的事务(因此无需打开连接并执行提交).

如果您自己管理连接和事务,请首先打开连接,启用事务并将打开的连接传递给DAO,提交事务,然后关闭连接(在DAO之外).

一旦您的服务完成所有DAO,请关闭连接.

希望这可以帮助.