紧跟上一篇帖子:https://blog.csdn.net/Min_Monk/article/details/93717421
这里介绍通过DatabaseMetaData.getColumns来获取表的列名
API方法介绍
/**
* 得到全部列名
* @param String catalog 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
* @param String schemaPattern 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
* @param String tableNamePattern 表名称模式;它必须与存储在数据库中的表名称匹配
* @param String columnNamePattern 列名称模式;它必须与存储在数据库中的列名称匹配
* @return 每一行都是一个列描述
* @throws SQLException 如果发生数据库访问错误
*/
ResultSet getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
throws SQLException
实战Demo
public static void pageAllTableColumn(String tableNamePattern, int pageSize, int pageNum) {
Connection conn = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
rs = dbmd.getColumns(null, "CSBDEVW", tableNamePattern.toUpperCase(), "%");
List> tempList = new ArrayList>();
while(rs.next()) {
Mapmap = new HashMap();
map.put("COLUMN_NAME", rs.getString("COLUMN_NAME"));
map.put("DATA_TYPE", rs.getString("DATA_TYPE"));
map.put("TYPE_NAME", rs.getString("TYPE_NAME"));
map.put("COLUMN_SIZE", rs.getString("COLUMN_SIZE"));
map.put("NULLABLE", rs.getString("NULLABLE"));
tempList.add(map);
System.out.println(map);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (null != conn) {
conn.close();
}
if (null != rs) {
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}