使用DataBaseMetaData得到表的主键

来源:互联网 发布:国家域名注册中心 编辑:程序博客网 时间:2024/05/06 11:12

try {
   String user = "ahcwtest";
   String password = "ahcwtest";

   String driver= "oracle.jdbc.driver.OracleDriver";

   String url= "jdbc:oracle:thin:@192.168.71.17:1521:orcl";
   String sql = "SELECT A FROM A";
   Class.forName(driver).newInstance();
   Connection c = DriverManager.getConnection(url, user, password);
   Statement stmt = c.createStatement();
   ResultSet rs = stmt.executeQuery(sql);
   
   DatabaseMetaData dbmd = c.getMetaData();
   ResultSet pk = dbmd.getPrimaryKeys(null, null, "A");
   while( pk.next() ) {
       System.out.println("表A");
       System.out.println("PKTABLE_CAT:"+pk.getObject(1));
       System.out.println("PKTABLE_SCHEM:"+pk.getObject(2));
       System.out.println("PKTABLE_NAME:"+pk.getObject(3));
       System.out.println("COLUMN_NAME:"+pk.getObject(4));
       System.out.println("KEY_SEQ:"+pk.getObject(5));
       System.out.println("PK_NAME:"+pk.getObject(6));

   }

   ResultSet t = dbmd.getCatalogs();
   while (t.next()) {
    
    System.out.println(t.getString(0));
   }
   
//   while (rs.next()) {
//    System.out.println(rs.getString(1));
//   }
  } catch (Exception e) {
   e.printStackTrace();
  } 

原创粉丝点击