java - Web 应用程序 DAL 中的 JDBC 数据库连接

标签 java sql jdbc

我正在使用相当标准的 Web/服务/数据访问分层设计构建一个用于娱乐/学习的小型网站。

对于数据访问层,处理创建 Connection 对象来调用 SQL 存储过程的最佳方法是什么?为什么?请记住,我正在手动编写大量代码(我知道我可以使用 Hibernate 等为我做很多这样的事情)...

1) 我是否应该创建一个静态连接实例并通过它运行所有查询,否则这会导致并发问题吗?

2) 我应该为每个数据库调用创建一个连接实例并接受性能开销吗? (如果是这种情况,我将在稍后研究连接池)

最佳答案

每个线程应该使用一个Connection。不要跨线程共享连接。

考虑使用Apache DBCP 。这是配置数据库连接并从池中提取它们的免费且标准的方法。这是像 Tomcat 这样的高性能 Web 服务器所使用的方法。

此外,如果您使用 DBCP,因为它是一个(读:缓存),所以频繁创建/关闭连接几乎没有什么损失。

关于java - Web 应用程序 DAL 中的 JDBC 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/120941/

相关文章:

jdbc - soapUI 从 groovy 脚本访问 MS SQL DB

sql - Oracle 中的更新与合并以获得记录列表而不是批量记录集?性能?

java - 避免与 Java 中的静态类重复代码

java - 动态更改高度约束布局

java - Jackson 自动映射名为 @foo 的属性?

java - Xa资源恢复管理器 : Error while retrieving xids from resource

java - NullPointerException - 无法看到我的问题

sql - DB2 中的意外标记 "LIMIT"

sql - 如何找到连续的星期

java - 通过 Clojure 和 JDBC 将 5,000,000 行移动到另一个 Postgresql 数据库