使用元数据分析数据库

一、使用 DatabaseMetaData 获取数据库基本信息

DatabaseMetaData 可以得到数据库的一些基本信息,包括数据库的名称、版本,以及得到表的信息。

String getDatabaseProductName() 获取此数据库产品的名称。

int getDriverMajorVersion() 获取此 JDBC 驱动程序的主版本号。

int getDriverMinorVersion() 获取此 JDBC 驱动程序的次版本号。

1 public static void main(String[] args) throws Exception {
2         DbUtil dbUtil=new DbUtil();
3         Connection con=dbUtil.getCon();
4         DatabaseMetaData dmd=con.getMetaData();
5         System.out.println("数据库名称:"+dmd.getDatabaseProductName());
6         System.out.println("数据库版本:"+dmd.getDatabaseProductVersion()+"."
7                 +dmd.getDriverMinorVersion());
8     }

二、使用 ResultSetMetaData 获取 ResultSet 对象中的信息

ResultSetMetaData 可获取关于 ResultSet 对象中列的基本信息;

in tgetColumnCount() 返回此 ResultSet 对象中的列数。

String getColumnName(int column) 获取指定列的名称。

int getColumnTypeName(int column) 获取指定列的 SQL 类型名称。

public static void main(String[] args) throws Exception {
        DbUtil dbUtil=new DbUtil();
        Connection con=dbUtil.getCon();
        String sql="select * from t_book";
        PreparedStatement pstmt=con.prepareStatement(sql);
        ResultSetMetaData rsmd=pstmt.getMetaData();
        int num=rsmd.getColumnCount();//获取元数据列的总数
        System.out.println("共有"+num+"列");
        for (int i = 1; i <= num; i++) {
            System.out.println(rsmd.getColumnName(i)+","+rsmd.getColumnTypeName(i));
        }
    }
原文地址:https://www.cnblogs.com/xiaoyqng/p/8321230.html