利用jdbc连接数据库查询时,通常返回的结果就是每行数据的键值对集合。这时我们需要知道查询出来的数据有哪些字段。根据ResultSet结果集得到的ResultSetMetaData就可以获取到每个字段的名称。其中主要用getColumnLabel(int column)和getColumnName(int column)两种方法来获取。
ResultSetMetaData:用于获取关于
ResultSet
对象中列的类型和属性信息的对象;ResultSetMetaData rsmd = rs.getMetaData();//结果集合元数据
getColumnName(int column):获取指定列的名称。
getColumnLabel(int column):获取用于打印输出和显示的指定列的建议标题。
区别:
getColumnName可能只能取到查询的数据库表的字段名称,而不是sql语句中用到的别名。
getColumnLabel 取到的是sql语句中指定的名称(字段名或别名)。
这里建议使用getColumnLabel,特别是想将ResultSet的结果映射到HashMap中的时候,尽可能的使用getColumnLabel,不然可能会出问题;