你好,
我尝试创建DAO层,主要遵循这个指南。
请注意,我没有使用任何框架,只使用纯JDBC。
看一下创建连接实例的方法:
在每个CRUD方法中,我们按照以下方式获取连接:
Connection connection = daoFactory.getConnection();
每次调用方法时,我们都会获得一个新的连接。 我唯一的问题是如何在此处实现事务?我看到两个解决方案:
- 使用连接字段而不是DaoFactory字段,将其共享在方法之间,以便每个DAO只有一个连接。 但是,哪一层应该负责事务? 我应该在Service - DAO之间创建某些内容吗?
- 为其他需要创建事务的DAO实例创建字段。 所以,例如,我将TransactionDao用于实现banktransfer(从一个用户中取款并添加到另一个用户),并且此TransactionDao还将具有UserDao,因为我应该进行一个创建和两个更新操作。