使用getMetaData() 方法获取我们所需要的有关数据库、表或者字段的信息。
例如:
ResultSet rs = null;
//建立连接
Connection conn = conGener.getConn();
//获取信息
(该对象包含关于Connection 对象连接到的数据库的元数据。元数据包括关于数据库的表、受支持的 SQL 语法、存储过程、此连接的功能等信息。)
DatabaseMetaData dbMeta = conn.getMetaData();
rs = dbMeta.getColumns(null,null,tableName.trim().toUpperCase(),null);
//循环读取信息
while(rs!=null && rs.next())
{
columnMeta.setSrcTableName(rs.getString(3).trim().toUpperCase());
columnMeta.setSrcColumnName(rs.getString(4).trim().toUpperCase());
}
使用getColumns方法获得所有列信息。getColumns详细说明如下:
ResultSet getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
throws SQLException
检索可在指定类别中使用的表列的描述。仅返回与类别、模式、表和列名称标准匹配的列描述。
参数:
catalog - 类别名称,因为存储在数据库中,所以它必须匹配类别名称。该参数为 "" 则检索没有类别的描述,为 null 则 表示该类别名称不应用于缩小搜索范围;
schemaPattern - 模式名称的模式,因为存储在数据库中,所以它必须匹配模式名称。该参数为 "" 则检索那些没有模式 的描述,为 null 则表示该模式名称不应用于缩小搜索范围;
tableNamePattern - 表名称模式,因为存储在数据库中,所以它必须匹配表名称
columnNamePattern - 列名称模式,因为存储在数据库中,所以它必须匹配列名称 ;
返回:
ResultSet - 每一行都是一个列描述
抛出:
SQLException - 如果发生数据库访问错误