项目中的一段代码,不知道是谁写的:
String sql = "UPDATE SAFE SET SAFE_IP_TYPE_ID=?,SAFE_FEEDBACKTYPE_ID=?,SAFE_USERNAME=?,SAFE_PHONE=?,SAFE_ACCOUNT=?,SAFE_REMARK=?,SAFE_HANDLER=?,SAFE_HANDLESTATE_ID=?,SAFE_HANDLE_FLAG=?,SAFE_RESULT=?,safe_ip_dns=?,safe_priority_id=?,safe_count=?,safe_failed_times= ?,safe.safe_review_count = ? ,safe.safe_lasttime=? ,safe.SAFE_BETIMES=? ,safe_change_count=? WHERE SAFE_ID = ?";
Object[] param = { "long",
String.valueOf(safe.getSafe_ip_type_id()), "long",
String.valueOf(safe.getSafe_feedbacktype_id()), "string",
String.valueOf(safe.getSafe_username()), "string",
String.valueOf(safe.getSafe_phone()), "string",
String.valueOf(safe.getSafe_account()), "string",
String.valueOf(safe.getSafe_remark()), "string",
String.valueOf(safe.getSafe_handler()), "long",
String.valueOf(safe.getSafe_handlestate_id()), "long",
String.valueOf(safe.getSafe_handle_flag()), "string",
String.valueOf(safe.getSafe_result()), "string",
String.valueOf(safe.getSafe_ip_dns()), "long",
String.valueOf(safe.getSafe_priority_id()), "long",
String.valueOf(safe.getSafe_count()), "long",
String.valueOf(safe.getSafe_failed_times()), "long",
String.valueOf(safe.getSafe_review_count()), "long",
String.valueOf(safe.getSafe_lasttime().getTime() / 1000), "long",
String.valueOf(safe.getSafe_betimes()), "long",
String.valueOf(safe.getSafe_id()),"long",String.valueOf(safe.getSafe_Chang_count())
};
DataBaseUtil.executeUpdate(sql, param)
同事在维护这段代码的时候出了错,他在SQL中加了一个字段,并且在Object[] param中加了参数的赋值: String.valueOf(safe.getSafe_count()), "long"
按说没问题的。
仔细一看,晕倒,原来Object[] param的格式要求是
"类型","值"
而同事按照上面代码的格式写成了
"值","类型"。
原来很搞笑的原作者,在第一行写了一个"类型"后,下面的行都按照"值","(下一个参数的)类型"的格式去写, 这样,原来的
"类型","值",
"类型","值",
格式就看起来变成了
"值","类型",
"值","类型",
这么眩晕的创意型代码不知道是哪位仁兄的大作啊,好久没欣赏过这样的代码了,实在是有创意啊!
一段代码
最新推荐文章于 2021-05-18 23:42:00 发布