我正在使用相当标准的 Web/服务/数据访问分层设计构建一个用于娱乐/学习的小型网站。
对于数据访问层,处理创建 Connection 对象来调用 SQL 存储过程的最佳方法是什么?为什么?请记住,我正在手动编写大量代码(我知道我可以使用 Hibernate 等为我做很多这样的事情)...
1) 我是否应该创建一个静态连接实例并通过它运行所有查询,否则这会导致并发问题吗?
2) 我应该为每个数据库调用创建一个连接实例并接受性能开销吗? (如果是这种情况,我将在稍后研究连接池)
最佳答案
每个线程应该使用一个Connection
。不要跨线程共享连接。
考虑使用Apache DBCP 。这是配置数据库连接并从池中提取它们的免费且标准的方法。这是像 Tomcat 这样的高性能 Web 服务器所使用的方法。
此外,如果您使用 DBCP,因为它是一个池(读:缓存),所以频繁创建/关闭连接几乎没有什么损失。
关于java - Web 应用程序 DAL 中的 JDBC 数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/120941/