数据库元数据(DatabaseMetaDate)
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://blackanger.blog.51cto.com/140924/22411 |
DatabaseMetaData(数据库元数据)1 获得DatabaseMetaData对象 DatabaseMetaData dbmd = conn.getMetaData(); conn为一个Connection对象 2 使用DatabaseMetaData可以获得如下信息 数据库与用户,数据库标识符以及函数与存储过程 数据库支持与不支持的功能 数据库的限制,如数据库名称的最大长度 架构,编目,表和列 3 实例 获取表清单 import java.sql.*; import java.util.*; import Collections.*; public class GetTableList { public static void main(String[] args) { Connection conn = null; ResultSet rset = null; try { conn = ConnectionFactory.getConnection(); DatabaseMetaData dbmd = conn.getMetaData(); String[] types = {"TABLE"}; rset = dbmd.getTables(null,null,null,types); Vector v = new Vector(); while(rset.next()) { String name = rset.getString("TABLE_NAME"); v.add(name); } Collections.sort(v); } catch(Exception e) { e.printStackTrace(); } finally { ConnectionFactory.close(rset); ConnectionFactory.close(conn); } } } 注:ConnectionFactory为构建的一个类,这里没有给出源代码。 String[] types 是一个指出返回何种表的数组,可能的选项包括 "TABLE" "VIEW" " SYSTEM TABLE" "CLOBAL TEMPORARY" "LOCAL TEMPORARY" "ALIAS" "SYNONYM" . getTables方法返回的ResultSet对象中的列包括 TABLE_CAT 该表属于的那个编目的名称 TABLE_SCHEM 该表属于的那个架构的名称 TABLE_NAME 该表的名称 TABLE_TYPE 该表的类型 REMARKS 备注 ResultSetMetaData(结果集元数据) 由于结果集可以含有从表中派生的一些列的信息,所以该对象可以含有不是数据库中列的一些信息。 1。获得ResultSetMetaData对象 ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); 注意:上面的查询不必返回任何行,并不影响结果集元数据的创建。 本文出自 “{ :Alex Space => " Ruby Notes " }” 博客,请务必保留此出处http://blackanger.blog.51cto.com/140924/22411 本文出自 51CTO.COM技术博客 |



blackanger
博客统计信息
热门文章
最新评论
友情链接
