java - JDBC MVC - 在存储库方法中共享数据库连接实例的方法

标签 java model-view-controller repository

我正在构建一个基于 MVC 的 Web 应用程序,每个模型聚合都有它自己的存储库。存储库从 MySQL 数据库获取数据。

我很难决定如何实现各种存储库方法,主要是因为我希望能够在同一个数据库连接中执行顺序查询(而不是在每个方法主体中创建新连接,然后关闭它位于方法的末尾)。

在两个顺序存储库方法之间共享数据库连接实例的一种方法是将已创建的数据库连接(在存储库外部创建)的实例作为存储库方法的参数传递。 显然,这个实现在设计上完全是错误的。

另一种方法是拥有存储库将使用的单例数据库连接池或某种工厂,并且可以根据需要选择专门创建新连接。

我想知道你们对于上述问题是否还有其他设计技巧......

最佳答案

这一切都解决了。不要自己写。使用提供 DataSource 实现的连接池库,如 DBCP 。这负责连接重用。使用Spring's JdbcTemplate为您处理所有的打开和关闭。然后申请declarative transaction management除此之外,您将有效地获得每个请求的连接。

关于java - JDBC MVC - 在存储库方法中共享数据库连接实例的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7700771/

相关文章:

html - 在 ASP.NET MVC5 View 中单击时下拉菜单不显示其元素

JQuery 将 JSON 发送到 Spring MVC Controller

windows - 有没有不使用 svnadmin dump 迁移 svn 的方法?

java - 多种组合的设计模式

java - Android Sqlite db.insert 带 null

java - Hadoop - 使用 Java 将 reducer 输出合并到单个文件

java - GUI 框架和按钮

java - Java访问Web服务时URL和URI的区别

java - 查看 Web 应用程序的一部分 - 什么技术可以实现相当密集的 GridView ?

json - 通过 Cloudformation 创建 AWS::ECR::Repository 资源