Java基础系列15:JDBC中使用元数据分析数据库

  

package  javase.jdbc;      import  java.sql.Connection;   import  java.sql.DatabaseMetaData;   import  java.sql.ResultSet;   import  java.sql.SQLException;      public  class  DatabaseMetaDataDemo  {      public  static  void  main (String [], args), {   Connection  Connection =, JDBCConnection.getConnection ();      try  {   DatabaseMetaData  dMetaData =, connection.getMetaData();,//,实例化元数据      System.out.println(“数据库名:“,+,dMetaData.getDatabaseProductName ());   System.out.println(“数据库版本:,“   +,dMetaData.getDatabaseProductVersion ());      ResultSet  ResultSet =, dMetaData.getPrimaryKeys(空,空,,“用户”);   while  (resultSet.next ()), {   System.out.println(“表类别:“,+,resultSet.getString (1));   System.out.println(“表模式:“,+,resultSet.getString (2));   System.out.println(“表名称:“,+,resultSet.getString (3));   System.out.println(“列名称:“,+,resultSet.getString (4));   System.out.println(“主键:“,+,resultSet.getString (5));   System.out.println(“主键名称:“,+,resultSet.getString (6));   }      },catch  (SQLException  e), {   e.printStackTrace ();   }      }      }

数据库名:MySQL   数据库版本:5.5.19   表类别:jdbcdemo   表模式:零   表名称:用户   列名称:id   主键:1   主键名称:主要

package  javase.jdbc;      import  java.sql.Connection;   import  java.sql.PreparedStatement;   import  java.sql.ResultSetMetaData;   import  java.sql.SQLException;      public  class  ResultSetMetaDataDemo  {      public  static  void  main (String [], args), {   String  sql =, " classId  SELECT  id、用户名、密码,得到用户”;   Connection  Connection =, JDBCConnection.getConnection ();      try  {   PreparedStatement  pStatement =, connection.prepareStatement (sql);   ResultSetMetaData  rSetMetaData =, pStatement.getMetaData ();      System.out.println(“返回数据有”,+,rSetMetaData.getColumnCount(), +,”个字段”);   if  (rSetMetaData.isAutoIncrement (1))   System.out.println (rSetMetaData.getColumnName(1), +,”字段是自增的”);   },catch  (SQLException  e), {   e.printStackTrace ();   }      }      }

返回数据有4个字段   id字段是自增的


Java基础系列15:JDBC中使用元数据分析数据库