java 中如何得到SQL语句返回的字段名称

如:select * from table1 a,table2 b where a.id=b.id and a.test=""
当记录数为0的时候,如何知道 会返回多少个字段名称。

一般用于接收数据的数据集对象,都包括字段数量的及其名称的

如果SQL没有返回记录的时候,就不知道字段名了

示例代码:
Connection conn = getConnection();
String sql = "select * from AccessType";
PreparedStatement stmt;
try {
stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData data = rs.getMetaData();
for (int i = 1; i <= data.getColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = data.getColumnCount();
// 获得指定列的列名
String columnName = data.getColumnName(i);
}

返回的是表a和表b的并集字段(无重复)