中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>程序设计>Java>列表

jdbc元数据入门之DatabaseMetaData

来源:www.javadby.com 作者: 时间:2007-12-29 点击:

  jdbc到了版本3以后加入元数据的功能,有了jdbc元数据就可以很方便的获取数据库相关的信息,如果大家了解这项功能,就会发现操作数据库的时候会更得心应手,同时也可以开发出比以前更加自动化的程序.下面开始第一部分的教程.

  获取最基本的数据库信息(数据库中的表):

  public static void showTables(Connection connection) throws Exception {

  DatabaseMetaData meta = connection.getMetaData(); //获取数据库连接的元数据

  //查询连接的所有Table(如果需要查询视图等,可以在最后的数组中添加VIEW...,依此类推)

  ResultSet rsTable = meta.getTables(null, null, null, new String[] { "TABLE" });

  //获取到的数据是以ResultSet形式返回

  while (rsTable.next()) {

  System.out.println(rsTable.getString(1)); //第一列是Database名称

  System.out.println(rsTable.getString(2)); //第二列是用户名称(有的表可能没有对应的用户)

  System.out.println(rsTable.getString(3)); //第三列就是表名称

  }

  }

  执行上面的方法就可以将Connection中所有的表信息全部显示出来,这就是元数据的入门知识.当然这也是分析数据库连接信息的第一步.接下来看看如何获取Table的主外键信息.

  public static List getPrimaryKeys(Connection connection, String tableName) throws Exception {

  ArrayList keyList = new ArrayList();

  DatabaseMetaData meta = connection.getMetaData();

  ResultSet rsKey = meta.getPrimaryKeys(null, null, tableName); //获取制定表的主键列信息

  while (rsKey.next())

  keyList.add(rsKey.getString(4));

  return keyList;

  }

  上面的方法可以获取一个表的所有主键列的名称列表

  public static List getImportedKeys(Connection connection, String tableName) throws Exception {

  ArrayList keyList = new ArrayList();

  DatabaseMetaData meta = connection.getMetaData();

  ResultSet rsKey = meta.getImportedKeys(null, null, tableName);

  while (rsKey.next())

  keyList.add(rsKey.getString(8));

  return keyList;

  }

  上面的方法可以获取一个表中是外键列的名称列表

  public static List getExportedKeys(Connection connection, String tableName) throws Exception {

  ArrayList keyList = new ArrayList();

  DatabaseMetaData meta = connection.getMetaData();

  ResultSet rsKey = meta.getExportedKeys(null, null, tableName);

  while (rsKey.next())

  keyList.add(rsKey.getString(4));

  return keyList;

  }

  上面的方法可以获取一个表中是其他表的外键的列的名称列表

  到这里大家已经知道如何通过元数据获取一些表的信息了,那么这一部分也就完成,接下来的文章会继续深入了解jdbc的元数据.

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册