对于DBMS我很绿,我需要编写一个使用JDBC与Java数据库文件交互的Java程序。我想知道是否更好的做法,甚至有可能在main中初始化Connection并根据需要将它传递给每个方法(在程序运行后关闭它),或者打开和关闭每个单独方法中的新连接。可以/应该将Connection对象传递给函数吗?
对不起,如果这是一个重复的问题,但我没有发现任何问题/答案是确凿的。
对于DBMS我很绿,我需要编写一个使用JDBC与Java数据库文件交互的Java程序。我想知道是否更好的做法,甚至有可能在main中初始化Connection并根据需要将它传递给每个方法(在程序运行后关闭它),或者打开和关闭每个单独方法中的新连接。可以/应该将Connection对象传递给函数吗?
对不起,如果这是一个重复的问题,但我没有发现任何问题/答案是确凿的。
打开连接需要相当长的时间。如果没有特殊的理由关闭它,你应该通过你的程序使用相同的连接。
甚至有一种称为connection pooling的特殊技术,它允许在大型应用程序中重新使用开放式连接,从而提高性能。
我认为创建单个连接对象是一种最好的方式,因为您正在减少用于创建和垃圾收集对象的JVM的开销。 (使用try-with-resource,它会自动关闭连接对象)
嗯,我不太了解数据库访问,所以我不知道“特殊原因”可能是什么样子。 – PeterSon
一个特殊的原因可能是,例如,连接错误或数据库关闭。 – user5500105
嘿,猜猜我只会打开并关闭它一次,因为它不像这个程序将永远在野外使用。非常感谢 – PeterSon