jdbc中的相关特性

java 代码     
用来获取相关表的外键
 
  1. import java.sql.*;  
  2.   
  3. public class ForeignKeysCoffees  {  
  4.   
  5.    public static void main(String args[]) {  
  6.   
  7.       String url = "jdbc:mySubprotocol:myDataSource";  
  8.       Connection con;  
  9.       String createString = "create table COFFEESFK " +  
  10.                         "(COF_NAME VARCHAR(32) NOT NULL, " +  
  11.                         "SUP_ID INTEGER, " +  
  12.                         "PRICE FLOAT, " +  
  13.                         "SALES INTEGER, " +  
  14.                         "TOTAL INTEGER, " +  
  15.                         "primary key(COF_NAME), " +  
  16.                         "foreign key(SUP_ID) references SUPPLIERSPK)";  
  17.       Statement stmt;  
  18.   
  19.       try {  
  20.          Class.forName("myDriver.ClassName");  
  21.   
  22.       } catch(java.lang.ClassNotFoundException e) {  
  23.          System.err.print("ClassNotFoundException: ");  
  24.          System.err.println(e.getMessage());  
  25.       }  
  26.   
  27.       try {  
  28.          con = DriverManager.getConnection(url,  
  29.                                "myLogin""myPassword");  
  30.   
  31.          stmt = con.createStatement();  
  32.          stmt.executeUpdate(createString);  
  33.   
  34.          DatabaseMetaData dbmd = con.getMetaData();  
  35.          ResultSet rs = dbmd.getImportedKeys(nullnull"COFFEESFK");  
  36.          while (rs.next()) {  
  37.             String pkTable = rs.getString("PKTABLE_NAME");  
  38.             String pkColName = rs.getString("PKCOLUMN_NAME");  
  39.             String fkTable = rs.getString("FKTABLE_NAME");  
  40.             String fkColName = rs.getString("FKCOLUMN_NAME");  
  41.             short updateRule = rs.getShort("UPDATE_RULE");  
  42.             short deleteRule = rs.getShort("DELETE_RULE");  
  43.             System.out.print("primary key table name :  ");  
  44.             System.out.println(pkTable);  
  45.             System.out.print("primary key column name :  ");  
  46.             System.out.println(pkColName);  
  47.             System.out.print("foreign key table name :  ");  
  48.             System.out.println(fkTable);  
  49.             System.out.print("foreign key column name :  ");  
  50.             System.out.println(fkColName);  
  51.             System.out.println("update rule:  " + updateRule);  
  52.             System.out.println("delete rule:  " + deleteRule);  
  53.             System.out.println("");  
  54.          }  
  55.   
  56.          rs.close();  
  57.          stmt.close();  
  58.          con.close();  
  59.   
  60.       } catch(SQLException ex) {  
  61.          System.err.print("SQLException: ");  
  62.          System.err.println(ex.getMessage());  
  63.       }  
  64.    }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值