获取Java数据库中结果集的每个字段名和个数


/**
* 查询到多条数据, 封装到List<Map>
*/
public List<Map<String, Object>> queryForMapList(String sql, Object... args) throws SQLException {
PreparedStatement statement = getStatement(sql, args);
// 执行SQL语句, 获取结果集
ResultSet resultSet = statement.executeQuery();

// 获取结果集中的元数据
ResultSetMetaData metaData = resultSet.getMetaData();
// 字段的个数
int count = metaData.getColumnCount();
// 创建List集合
List<Map<String, Object>> list = new ArrayList<>();

// 处理结果集
while (resultSet.next()) {
// 创建Map集合
Map<String, Object> map = new HashMap<>();
// 根据字段的个数, 循环
for (int i = 0; i < count; i++) {
// 获取字段的名字
String columnName = metaData.getColumnName(i + 1);
// 获取字段对应的值
Object object = resultSet.getObject(columnName);
// 将字段名和字段值, 存入map集合中
map.put(columnName, object);
}

// 将map集合添加到List集合中
list.add(map);
}

// 释放资源
JDBCUtils.close(resultSet, statement, connection);

return list;
}

例图

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM