Java 连接池vs连接作为参数

Java 连接池vs连接作为参数,java,database,performance,jdbc,database-connection,Java,Database,Performance,Jdbc,Database Connection,我的程序使用连接作为参数 例如,我在我的主类中定义了连接参数,然后在从另一个类调用方法时将连接作为参数传递。如果我用连接池替换,会对程序性能产生任何影响吗?在这种“幼稚”的级别上,您绝对不会担心性能问题。当您看到性能问题时,您只关注性能(注意:当然,您避免做完全愚蠢的事情)。当您看到真正的性能问题时,您需要进行分析,以了解真正的问题 换句话说:你应该专注于创造一个好的OO设计。从这个角度来看(在没有看到任何代码的情况下),你肯定会坚持在连接中传递 你看,你有一些“客户端”代码,应该对这个连接做一

我的程序使用连接作为参数


例如,我在我的主类中定义了连接参数,然后在从另一个类调用方法时将连接作为参数传递。如果我用连接池替换,会对程序性能产生任何影响吗?

在这种“幼稚”的级别上,您绝对不会担心性能问题。当您看到性能问题时,您只关注性能(注意:当然,您避免做完全愚蠢的事情)。当您看到真正的性能问题时,您需要进行分析,以了解真正的问题

换句话说:你应该专注于创造一个好的OO设计。从这个角度来看(在没有看到任何代码的情况下),你肯定会坚持在连接中传递

你看,你有一些“客户端”代码,应该对这个连接做一些“事情”。因此,该客户机的责任正是:使用该连接操纵该连接所连接的任何东西。它应该而不是也有责任“建立”这种联系


意思是:一段客户端代码负责从连接池获取连接;其他一些客户端代码负责使用该连接执行任何操作。你不应该把这两个方面混为一谈。否则,您将减少重复使用单个功能的选项;您可以耦合元素,这样简单的元素就不需要耦合。

传递连接通常不是一个很好的OO设计,因为这是一种不应该在API中公开的细节(检索是使用JDBC连接的数据库实现的事实)。如果您需要使用原始JDBC连接,那么最好使用SpringJDBC模板之类的工具来隐藏获取和管理连接的脏管道细节,而不是传递连接对象。(如果事务处于活动状态,Spring将使用ThreadLocal存储连接)谢谢,我将研究SpringJDBC模板@ErwinBolwidt