此方法检索表的列的描述。它接受4个参数-catalog-目录-一个字符串参数,表示表(包含通常需要检索其描述的列的表)的目录(通常是数据库)的名称(或名称模式)。传递“”以获取没有目录的表中列的描述,如果不想使用目录,则传递null,从而缩小搜索范围。

schemaPattern-一个String参数,表示表的架构的名称(或名称模式),如果表中的列没有架构,则传递“”,如果您不想使用架构,则传递null。

tableNamePattern-一个String参数,代表表的名称(或名称模式)。

columnNamePattern-一个String参数,表示列的名称(或名称模式)。

此方法返回描述指定列的ResultSet对象。该对象保存以下详细信息的值(作为列名)-栏名数据类型描述TABLE_CAT串表的目录。

TABLE_SCHEM串模式的目录。

TABLE_NAME串表名。

COLUMN_NAME串列名。

数据类型整数列的数据类型为整数。

TYPE_NAME串列的数据类型名称。

COLUMN_SIZE整型列的大小。

备考串在该列上的评论。

COLUMN_DEF串列的默认值。

ORDINAL_POSITION整型表中列的索引。

IS_AUTOINCREMENT串如果列是自动递增的,则返回yes;如果列不是自动递增的,则返回false;如果无法确定,则返回一个空的String(“”)。

IS_GENERATEDCOLUMN串如果该列是生成的列,则返回yes;如果该列不是生成的列,则返回false;如果无法确定,则返回一个空的String(“”)。

获取数据库中所需列的描述-确保您的数据库已启动并正在运行。

使用registerDriver()DriverManager类的方法注册驱动程序。传递与基础数据库相对应的驱动程序类的对象。

使用getConnection()DriverManager类的方法获取连接对象。将URL和数据库中的用户密码作为字符串变量传递给数据库。

使用getMetaData()Connection接口的方法获取有关当前连接的DatabaseMetaData对象。

最后,通过调用getColumns()DatabaseMetaData接口的方法,获取包含所需列的描述的ResultSet对象。

示例

让我们创建一个名称为example_database的数据库,并使用CREATE语句在其中创建一个名称为sample_table的表,如下所示-Statement stmt = con.createStatement();

stmt.execute("CREATE DATABASE example_database");

stmt.execute("CREATE TABLE example_database.sample_table(Name VARCHAR(255), age INT, Location VARCHAR(255));");

现在,在此表中,我们将插入两个记录-stmt.execute("INSERT INTO example_database.sample_table values('Kasyap', 29, 'Vishakhapatnam')");

stmt.execute("INSERT INTO example_database.sample_table values('Krishna', 30, 'Hyderabad')");

下面的JDBC程序建立与MySQL数据库的连接,检索指定列的描述。import java.sql.Connection;

import java.sql.DatabaseMetaData;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

public class DatabaseMetaData_getColumns {

public static void main(String args[]) throws SQLException {

//注册驱动程序

DriverManager.registerDriver(new com.mysql.jdbc.Driver());

//获得连接

String url = "jdbc:mysql://localhost/example_database";

Connection con = DriverManager.getConnection(url, "root", "password");

System.out.println("Connection established......");

//检索元数据对象

DatabaseMetaData metaData = con.getMetaData();

//检索数据库中的列

ResultSet columns = metaData.getColumns(null, null, "sample_table", null);

//打印列名称和大小

while (columns.next()){

System.out.print("Column name and size: "+columns.getString("COLUMN_NAME"));

System.out.print("("+columns.getInt("COLUMN_SIZE")+")");

System.out.println(" ");

System.out.println("Ordinal position: "+columns.getInt("ORDINAL_POSITION"));

System.out.println("Catalog: "+columns.getString("TABLE_CAT"));

System.out.println("Data type (integer value): "+columns.getInt("DATA_TYPE"));

System.out.println("Data type name: "+columns.getString("TYPE_NAME"));

System.out.println(" ");

}

}

}

输出结果Connection established......

Column name and size: Name(255)

Ordinal position: 1

Catalog: example_database

Data type (integer value): 12

Data type name: VARCHAR

Column name and size: age(10)

Ordinal position: 2

Catalog: example_database

Data type (integer value): 4

Data type name: INT

Column name and size: Location(255)

Ordinal position: 3

Catalog: example_database

Data type (integer value): 12

Data type name: VARCHAR

java metadata 使用_Java DatabaseMetaData getColumns()方法与示例相关推荐

  1. java metadata 使用_Java DatabaseMetaData getTables()方法与示例

    此方法检索指定数据库/目录中可用表的描述.它接受4个参数-catalog-字符串参数,代表表(通常是数据库)的名称(或名称模式),表(其中包含您需要检索其描述的列)存在于其中.传递"&quo ...

  2. java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax.crypto.SecretKeyFactory.generateSecret方法的典型用法代码示例.如果您正苦于以下问题:Java SecretKeyFactory ...

  3. java currency 默认_Java Currency getDefaultFractionDigits()方法与示例

    Currency类getDefaultFractionDigits()法getDefaultFractionDigits()方法在java.util包中可用. getDefaultFractionDi ...

  4. java currency 默认_Java Currency getCurrencyCode()方法与示例

    Currency类getCurrencyCode()法getCurrencyCode()方法在java.util包中可用. getCurrencyCode()方法用于获取此Currency的ISO 4 ...

  5. java polygon 用法_Java Polygon.getBounds方法代码示例

    import java.awt.Polygon; //导入方法依赖的package包/类 private SelectionShape translatePointsToRealSize(Select ...

  6. java input.close()_Java InputStream close()方法与示例

    InputStream类close()方法close()方法在java.io包中可用. close()方法用于关闭此InputStream并释放与此流链接的所有系统资源. close()方法是一种非静 ...

  7. java formatter 填充_Java Formatter format()方法及示例

    格式化程序类format()方法 语法:public Formatter format(Locale lo, String frmt, Object... args); public Formatte ...

  8. Java图片扫描仪_Java扫描仪useDelimiter()方法及示例

    扫描仪类useDelimiter()方法 语法:public Scanner skip(Pattern patt); public Scanner skip(String patt);useDelim ...

  9. java makedir用法_Java Files.makeDir方法代码示例

    import org.nutz.lang.Files; //导入方法依赖的package包/类 protected void download(String openid, String media_ ...

最新文章

  1. 在 Azure 中的 Linux VM 上创建 MongoDB、Express、AngularJS 和 Node.js (MEAN) 堆栈
  2. 上海网络推广浅析一个优质的404页面能给网站带来什么优化效果?
  3. AMPAS/ASC Common File Format LUT
  4. 人生苦短,我用Python
  5. 1022. 宠物小精灵之收服
  6. CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
  7. C#常用的文件操作 (转)
  8. 博客园php教程,PHP仿博客园,个人博客(1)_PHP教程
  9. 7820X+RTX2080Ti(Ubuntu 18.04)新机配置记录
  10. 033-生产机器扩容
  11. 【SYZOI Round1】滑稽的树
  12. oracle中常用的方法,oracle常用方法
  13. D3D游戏辅助编程开发教程
  14. 保姆级教程--常见的内网穿透有哪几种
  15. 微信推送封面尺寸_微信公众平台图片尺寸是多少?
  16. 央行最新公布2019支付牌照持牌机构公司列表,共255家(附清单)
  17. 鸿蒙系统我的二次元之旅,创世神的二次元
  18. ISCC2016Basic Writeup
  19. 爱普生photo EX3打印机四个灯同时闪的解决方法
  20. mybatis的switch标签

热门文章

  1. 在Linux/centos下查看网卡型号,如何查看主板型号,CPU/显卡信息,硬盘型号等硬件信息
  2. 怎么恢复未保存的word文件
  3. 权限管理后端篇(四)之java实现验证码
  4. 下面告诉你抠图换背景如何更真实
  5. SpringMVC之ModelAndView类详细分析(全)
  6. HTML5实战之《疯狂猜价格》
  7. QComboBox 鼠标点击触发 选项更新
  8. 机器学习(三)---Logistic回归
  9. linux卸载cf卡命令,嵌入式Linux 中CF卡的驱动和管理技术研究
  10. 2.12进程互斥的硬件实现方法