在Java中与数据库通信时,我们通常遵循以下步骤:
- 加载驱动程序
- 获取连接
- 创建语句或
PreparedStatement
- 获取
ResultSet
- 关闭连接
我很困惑为什么要关闭连接,因为大家都说创建连接很耗费资源,所以我们不能这样做吗:
static
{
try
{
connection = DriverManager.getConnection(connectorURL,
user, password);
} catch (SQLException e)
{
e.printStackTrace();
}
}
我们只需创建一个单例连接,并在任何地方使用它。是这样吗?如果我像这样使用它,会发生什么?
如果我不关闭连接会发生什么?
另外,我们将使用一个连接池,它将在池中创建一些连接,我们从池中获取连接,池中的连接也不会关闭,那么为什么如果我们不使用连接池,就需要遵循步骤并关闭连接呢?
这很困惑,我不知道原理。请帮助我。谢谢。
DriverManager
创建连接。 - Mark Rotteveel