getColumnCount() 本次结果集中取得的列总数
isAutoIncrement(int column) 是否为自增的字段
getColumnName(int column) 取得列的名字
getColumnLabel(int column) 取得列的别名,如果没有别名则和上面的Name相同。
别名的作用:通常通过SQL中取得的数据会直接存放到Java类中,
但是Java类的属性不一定和数据库中的列名一致,这时候SQL语句中就需要使用别名啦。
select db_column_name class_property_alias_name from table where id=1;
int numberOfColumns = resultSetMetaData.getColumnCount();
while(resultSet.next()){
for(int j=0; j < numberOfColumns; j++){
BeanUtils.setProperty(entity, resultSetMetaData.getColumnLabel(j+1), resultSet.getObject(j+1));
}
}
注意由于BeanUtils是外部工具,所以这里操作的entity的类必须是public的,否则包外边的类是无法访问的。
这两个概念是完全不同的。Java中的属性,通常可以理解为get和set方法操作的内容。而字段,通常叫做类成员变量。属性只局限于类中方法的声明,并不与类中其他成员相关。例如:
void setA(String s){} String getA(){}}
<完>