问题描述:当写sql时有时候会漏写某个字段,而在JDBC获取漏写字段的值时,比如 String id = resultSet.getString("id")会报此字段不存在的异常。
问题解决:在调用resultSet.getString("id")前先做出此字段是否有写入sql。
/**
* 判断查询结果集中是否存在某列
* @param rs 查询结果集
* @param columnName 列名
* @return true 存在; false 不存咋
*/
public boolean isExistColumn(ResultSet rs, String columnName) {
try {
if (rs.findColumn(columnName) > 0 ) {
return true;
}
}
catch (SQLException e) {
return false;
}
return false;
}
if(isExistColumn(resultSet, "id")){
id = resultSet.getString("id");
}