我们可以在Java中创建一个连接对象而不实际建立连接吗

我们可以在Java中创建一个连接对象而不实际建立连接吗,java,jdbc,connection-string,mssql-jdbc,Java,Jdbc,Connection String,Mssql Jdbc,我知道,连接是一个接口,使用驱动管理器获得连接的基本方法是什么?但它所做的是创建并打开一个连接并返回它。那么,有没有一种方法可以在Java中创建一个连接或任何类似的对象,从而从连接字符串中提供元数据、数据库名等属性?没有连接,就不可能获得连接(除非您自己断开接口) 听起来您的数据库名称是在现有代码中的某个地方硬编码的。如果是这样的话,也许您可以将其提取为一个常数,该常数也可以由新代码引用。然后,数据库名称将直接作为字符串,而不是通过连接对象间接获得。如果数据库名称嵌入到连接URL中,则可能需要将

我知道,
连接
是一个接口,使用
驱动管理器
获得连接的基本方法是什么?但它所做的是创建并打开一个连接并返回它。那么,有没有一种方法可以在Java中创建一个连接或任何类似的对象,从而从连接字符串中提供元数据、数据库名等属性?

没有连接,就不可能获得连接(除非您自己断开接口)

听起来您的数据库名称是在现有代码中的某个地方硬编码的。如果是这样的话,也许您可以将其提取为一个常数,该常数也可以由新代码引用。然后,数据库名称将直接作为
字符串
,而不是通过
连接
对象间接获得。如果数据库名称嵌入到连接URL中,则可能需要将其分离出来并构造URL。例如

public static final String DATABASE_NAME = "MyDatabase";
private static final String CONNECTION_URL = "jdbc:sqlserver://localhost;databaseName=" + DATABASE_NAME;

更好的做法是将连接详细信息与代码分开存储,例如,存储在程序启动时读取的属性文件中,尽管这需要对现有代码进行更多的更改。

为什么不直接解析连接字符串?看看:@Emax他说的是数据库连接;不是URL?!用于模拟数据库connection@GhostCat“或java中的任何类似对象,它可以从连接字符串中为我提供元数据、dbName等属性”,连接字符串是一个url,因此解析它有什么问题?请参阅使用连接对象获取数据库详细信息。