JDBC中获取数据表的信息

转载 2007年09月24日 16:32:00
JDBC中通过MetaData来获取具体的表的相关信息。可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等。MetaData中通过一 系列getXXX函数,将这些信息存放到ResultSet里面,然后返回给用户。关于MetaData的说明网上也有不少,这里我只是从我自身学习的角 度来记录一下简单使用JDBC以及获取数据表相关信息的方法。

   首先,http://hometown.aol.com/kgb1001001/Articles/JDBCMetadata/JDBC_Metadata.htm 这里有篇名字叫做《Understanding JDBC MetaData》的文章,讲解得不错。

   下面就是我的JDBC下的获取表信息的代码了。我是以MySQL 5.0作为测试平台的。

   1. JDBC连接MYSQL的代码很标准,很简单。

   class.forName("com.mysql.jdbc.Driver").newInstance();
   Connection conn = DriverManager
     .getConnection("jdbc:mysql://localhost/test?user=root&password=123456");

   2. 下面就是获取表的信息。

    m_DBMetaData = m_Connection.getMetaData();
    ResultSet tableRet = m_DBMetaData.getTables(null, "%",m_TableName,new String[]{"TABLE"});
    其中"%"就是表示*的意思,也就是任意所有的意思。其中m_TableName就是要获取的数据表的名字,如果想获取所有的表的名字,就可以使用"%"来作为参数了。

   3. 提取表的名字。

   while(tableRet.next) System.out.println(tableRet.getString("TABLE_NAME"));

 通过getString("TABLE_NAME"),就可以获取表的名字了。
 从这里可以看出,前面通过getTables的接口的返回,JDBC是将其所有的结果,保存在一个类似table的内存结构中,而其中TABLE_NAME这个名字的字段就是每个表的名字。

  4. 提取表内的字段的名字和类型

  String columnName;
  String columnType;
  ResultSet colRet = m_DBMetaData.getColumns(null,"%", m_TableName,"%");
  while(colRet.next()) {
   columnName = colRet.getString("COLUMN_NAME");
   columnType = colRet.getString("TYPE_NAME");
   int datasize = colRet.getInt("COLUMN_SIZE");
   int digits = colRet.getInt("DECIMAL_DIGITS");
   int nullable = colRet.getInt("NULLABLE"); 
   System.out.println(columnName+" "+columnType+" "+datasize+" "+digits+" "+
     nullable);
  }

  JDBC里面通过getColumns的接口,实现对字段的查询。跟getTables一样,"%"表示所有任意的(字段),而m_TableName就是数据表的名字。

  getColumns 的返回也是将所有的字段放到一个类似的内存中的表,而COLUMN_NAME就是字段的名字,TYPE_NAME就是数据类型,比如"int","int unsigned"等等,COLUMN_SIZE返回整数,就是字段的长度,比如定义的int(8)的字段,返回就是8,最后NULLABLE,返回1就 表示可以是Null,而0就表示Not Null。

 

相关文章推荐

MySQL---数据库从入门走向大神系列(十一)-Java获取数据库/结果集的元信息、将数据表写入excel表格

数据库的元信息:首先介绍一下数据库的元信息(元数据):元数据(Metadata)是关于数据的数据。元数据是描述数据仓库内数据的结构和建立方法的数据。存储的数据是什么类型,什么驱动等等,这些描述数据的数...

使用存储过程和反射获取从多个数据表所需信息

本文介绍如何使用存储过程和读取范式化数据库获取所需信息的技术,使用到的技术有:存储过程,反射。 此技巧适用于与多处连表(大量JOIN)的场景。 对于单表操作,建议使用UnitOfWork+Reposi...

jdbc获取数据库字段信息

  • 2014-05-04 09:04
  • 41KB
  • 下载

JDBC 通过从properties配置文件获取信息得到orcale数据库接口

JDBC 通过从properties配置文件获取信息得到orcale数据库接口

JDBC获取数据库及表信息

JDBC中通过MetaData来获取具体的表的相关信息。可以查询数据库中的有哪些表,表有哪些字段,字段的属性等等。MetaData中通过一系列getXXX函数,将这些信息存放到ResultSet里面,...

j2ee-规范-jdbc-获取字段信息

javapublic static void main(String[] args) { Connection conn = getConnection(); Stri...

使用JDBC获取各数据库的Meta信息——表以及对应的列

先贴代码,作为草稿:第一个shi

JDBC连接oracle 12c,数据表转JSON格式

啦啦 package data; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; impor...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)