首页
关于我们
服务项目
作品展示
服务支持
联系我们
友情链接
网站地图
 您当前位置:网络学院 -> 编程开发系-> 数据库-> SQL、ACCESS
JDBC中获取数据表的信息
作者:admin 来源:网络
日期: 2007-2-27
站内搜索
文章页数:[1] 

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。

文章页数:[1] 
放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·MS SQL 数据库备份和还原的几种方法
·SQL Server日志清除的两种方法
·全面接触SQL语法
·牢记!SQL Server数据库开发的二十一条军规
·SQLServer数据库安全规划全攻略
·SQL Server2000数据库文件损坏时如何恢复
·SQL 语法参考手册
·如何把ACCESS转成SQL数据库
·深入探讨SQL Server 2000对XML的支持
·SQL Server 2005数据加密技术应用研究
最新文章
·实战MSSQL 2000数据库之MSSQL 2000的安装
·SQL SERVER与ACCESS、EXCEL数据转换
·改善SQL Server内存管理
·如何为用户设置密码
·Asp备份与恢复SQLServer数据库
·SQL Server2000数据库文件损坏时如何恢复
·SQL 语法参考手册
·SQLServer数据库安全规划全攻略
·用Access将XLS与MDB文件格式互相转换
·Oracle与SQL Server在企业应用中的比较
相关主题
版权申明:除部分特别声明不要转载,或者授权本站独家播发的文章外,大家可以自由转载本站的原创文章,但原作者和来自本站的链接必须保留(非本站原创的,按照原来自一节,自行链接)。文章版权归本站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去本站水印。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论  打印  刷新  推荐给朋友  返回顶部  关闭

网上大名: