成都计算机培训 网络报名 Java软件开发培训课程 朗沃成都软件Java培训中心师资介绍 成都软件培训中心开班信息 朗沃成都Java软件开发培训中心学员就业情况 Java朗沃成都软件培训中心在线咨询
成都朗沃教育课程升级啦!
□ 您现在的位置:首页> 学员天地> java学习> 正文

DatabaseMetaData的用法

朗沃成都软件培训学校在线咨询         朗沃成都软件培训学校在线报名

关键词:java

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

/**
*
得到指定连接数据库中表列表
* @param connection
连接对象
* @return
当前数据库的表列表
* @throws Exception
*/
public static List<String> showTables(Connection connection) throws Exception {
     DatabaseMetaData meta = connection.getMetaData(); //
获取数据库连接的元数据
     /*
查询连接的所有Table(如果需要查询视图等,可以在最后的数组中添加VIEW...,依此类推)
      
获取到的数据是以ResultSet形式返回*/
     ResultSet rsTable = meta.getTables(null, null, null, new String[] { "TABLE" });
    
     //
创建集合,用于保存表名
     List<String> list = new ArrayList<String>();
     while (rsTable.next()) {
         list.add(rsTable.getString(3)); //
第三列就是表名称
     }
    
     return list;
}

/**
*
获得主键信息
* @param connection
连接对象
* @param tableName
表名
* @return
当前表中主键集合(可能有联合主键)
* @throws Exception
*/
public static List<String> getPrimaryKeys(Connection connection, String tableName) throws Exception {
     ArrayList<String> keyList = new ArrayList<String>();
     DatabaseMetaData meta = connection.getMetaData();
     ResultSet rsKey = meta.getPrimaryKeys(null, null, tableName); //
获取指定表的主键列信息
     while (rsKey.next())
         keyList.add(rsKey.getString(4));//
4列就是主键名
     return keyList;
}

/**
*
获得外键信息
* @param connection
连接对象
* @param tableName
表名
* @return
外键信息
* @throws Exception
*/
public static List<String> getImportedKeys(Connection connection, String tableName) throws Exception {
     ArrayList<String> keyList = new ArrayList<String>();
     DatabaseMetaData meta = connection.getMetaData();
     //
得到外键结果集
     ResultSet rsKey = meta.getImportedKeys(null, null, tableName);
     while (rsKey.next())
         keyList.add(rsKey.getString(8));//
得到外键名
     return keyList;
}

/**
*
获得表中列信息
* @param connection
连接对象
* @param tableName
表名
* @return
表中列集合
* @throws Exception
*/
public static List<String> getColumns(Connection connection, String tableName) throws Exception {
   ArrayList<String> keyList = new ArrayList<String>();
     DatabaseMetaData metaData = connection.getMetaData();
    
     //
得到列的结果集
   ResultSet rs = metaData.getColumns(null, null, tableName, null);
   while(rs.next()){
    keyList.add(rs.getString(4));//
得到列名
   }
  
   return keyList;
}

朗沃成都软件培训学校在线咨询         朗沃成都软件培训学校在线报名
作者: 朗沃IT教育 成都中心
原载:朗沃IT教育 成都中心 lovoinfo.com
版权所有,转载时必须以链接形式注明作者和原始出处及本声明
在线客服
在线客服系统