大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
1、简介
DatabaseMetaData 接口提供了获取数据库元数据的方法,例如数据库名称,数据库版本,驱动程序名称,表总数,视图总数等。
该接口由驱动程序供应商实现,以使用户了解数据库管理系统(DBMS)的功能以及与之结合使用的基于JDBC技术的驱动程序。
不同的DBMS通常支持不同的功能,以不同的方式实现功能以及使用不同的数据类型。 另外,驱动程序可以在DBMS提供的功能之上实现功能。 该接口中方法返回的信息适用于特定驱动程序和特定DBMS协同工作的功能。
一些 DatabaseMetaData 方法采用的参数是字符串模式。 这些参数都具有诸如fooPattern之类的名称。 在模式字符串中,“%”表示匹配任何0个或多个字符的子字符串,“ _”表示匹配任何一个字符。 仅返回与搜索模式匹配的元数据条目。 如果将搜索模式参数设置为null,则将从搜索中删除该参数的条件。
2、常用方法
方法 | 描述 |
---|---|
String getDriverName() throws SQLException | 返回 JDBC driver 名称 |
String getDriverVersion() throws SQLException | 返回 JDBC driver 版本 |
String getUserName()throws SQLException | 返回数据库用户名 |
String getDatabaseProductName() throws SQLException | 返回数据库产品名称 |
String getDatabaseProductVersion()throws SQLException | 返回数据库产品版本 |
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException | 检索满足指定条件的可用表的描述。 |
3、示例
public class DatabaseMetaDataDemo {
public static void main(String[] args) {
databaseInfo();
}
private static void databaseInfo() {
try (Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/lkf_db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT", "root", "root");) {
DatabaseMetaData dbmd = connection.getMetaData();
System.out.println("Driver Name: " + dbmd.getDriverName());
System.out.println("Driver Version: " + dbmd.getDriverVersion());
System.out.println("UserName: " + dbmd.getUserName());
System.out.println("Database Product Name: " + dbmd.getDatabaseProductName());
System.out.println("Database Product Version: " + dbmd.getDatabaseProductVersion());
} catch (SQLException e) {
printSQLException(e);
}
}
public static void printSQLException(SQLException ex) {
for (Throwable e: ex) {
if (e instanceof SQLException) {
e.printStackTrace(System.err);
System.err.println("SQLState: " + ((SQLException) e).getSQLState());
System.err.println("Error Code: " + ((SQLException) e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while (t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
}
输出:
Driver Name: MySQL Connector/J
Driver Version: mysql-connector-java-8.0.15 (Revision: 79a4336f140499bd22dd07f02b708e163844e3d5)
UserName: root@localhost
Database Product Name: MySQL
Database Product Version: 8.0.17
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/223409.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...