一、使用 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)); } }