通常,目录是一个目录,其中包含有关数据集,文件或数据库的信息。而数据库目录中包含所有数据库,基本表,视图(虚拟表),同义词,值范围,索引,用户和用户组的列表。
getCatalogs()
DatabaseMetaData接口的方法以String格式返回基础数据库的名称。
获取实例的数据库目录列表-
确保您的数据库已启动并正在运行。
使用registerDriver()
DriverManager类的方法注册驱动程序。传递与基础数据库相对应的驱动程序类的对象。
使用getConnection()
DriverManager类的方法获取连接对象。将URL和数据库中的用户密码作为字符串变量传递给数据库。
使用getMetaData()
Connection接口的方法获取有关当前连接的DatabaseMetaData对象。
最后,使用getCatalogs()
DatabaseMetaData接口的方法获取数据库目录。
让我们使用CREATE语句在MySQL的数据库中创建6,如下所示-
Create database mydatabase; Create database exampledatabase; Create database sampledb; Create database students; Create database testdb; Create database details;
以下JDBC程序与MySQL数据库建立连接,检索并在实例上显示其中的目录列表。
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; public class DatabaseMetaData_getCatalogs { 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("Connection established......"); //检索元数据对象 DatabaseMetaData metaData = con.getMetaData(); //返回数据库名称 ResultSet rs = metaData.getCatalogs(); System.out.println("List of the catalogs in the database"); while(rs.next()) { System.out.println(rs.getString(1)); } } }
输出结果
Connection established...... List of the catalogs in the database information_schema details exampledatabase mydatabase mysql performance_schema sampledb students sys testdb