如何确定给定 JDBC 连接的数据库类型(名称)?
jdbcobject oriented programmingprogramming更新于 2025/4/23 0:37:17
获取所连接底层数据库名称的一种方法是调用 DatabaseMetaData 接口的 getDatabaseProductName() 方法。此方法以字符串格式返回底层数据库的名称。
因此,要使用 Java 代码检索当前数据库的名称 −
- 使用 getMetaData() 方法检索当前连接的 DatabaseMetaData 对象。
//检索元数据对象 DatabaseMetaData metaData = con.getMetaData();
- 然后,使用 DatabaseMetaData 接口的 getDatabaseProductName() 方法作为 − 获取已连接的底层数据库的产品名称
//检索数据库的名称 String product_name = metaData.getDatabaseProductName();
示例
以下 JDBC 程序与数据库建立连接,检索并打印底层数据库的名称。
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseMetaData_getDatabaseProductName {
public static void main(String args[]) throws SQLException {
//注册驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获取连接
String mysqlUrl = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("连接已建立......");
//检索元数据对象
DatabaseMetaData metaData = con.getMetaData();
//检索数据库的名称
String product_name = metaData.getDatabaseProductName();
System.out.println("Name of the underlying database: "+product_name);
}
}
输出
Connection established...... Name of the underlying database: MySQL

