我正在构建一个基于 MVC 的 Web 应用程序,每个模型聚合都有它自己的存储库。存储库从 MySQL 数据库获取数据。
我很难决定如何实现各种存储库方法,主要是因为我希望能够在同一个数据库连接中执行顺序查询(而不是在每个方法主体中创建新连接,然后关闭它位于方法的末尾)。
在两个顺序存储库方法之间共享数据库连接实例的一种方法是将已创建的数据库连接(在存储库外部创建)的实例作为存储库方法的参数传递。 显然,这个实现在设计上完全是错误的。
另一种方法是拥有存储库将使用的单例数据库连接池或某种工厂,并且可以根据需要选择专门创建新连接。
我想知道你们对于上述问题是否还有其他设计技巧......
最佳答案
这一切都解决了。不要自己写。使用提供 DataSource 实现的连接池库,如 DBCP 。这负责连接重用。使用Spring's JdbcTemplate为您处理所有的打开和关闭。然后申请declarative transaction management除此之外,您将有效地获得每个请求的连接。
关于java - JDBC MVC - 在存储库方法中共享数据库连接实例的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700771/