日期:2014-05-16 浏览次数:20554 次
以下是 _recordMappingToMap的源代码
/**
* 将ResultSet结果集中的记录映射到Map对象中.
*
* @param fieldClassName 是JDBC API中的类型名称,
* @param fieldName 是字段名,
* @param rs 是一个ResultSet查询结果集,
* @param fieldValue Map对象,用于存贮一条记录.
* @throws SQLException
*/
private void _recordMappingToMap(String fieldClassName, String fieldName, ResultSet rs, Map fieldValue) throws SQLException {
fieldName = fieldName.toLowerCase();
//优先规则:常用类型靠前
if (fieldClassName.equals("java.lang.String")) {
String s = rs.getString(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);
}
} else if (fieldClassName.equals("java.lang.Integer")) {
int s = rs.getInt(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);//早期jdk需要包装,jdk1.5后不需要包装
}
} else if (fieldClassName.equals("java.lang.Long")) {
long s = rs.getLong(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);
}
} else if (fieldClassName.equals("java.lang.Boolean")) {
boolean s = rs.getBoolean(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);
}
} else if (fieldClassName.equals("java.lang.Short")) {
short s = rs.getShort(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);
}
} else if (fieldClassName.equals("java.lang.Float")) {
float s = rs.getFloat(fieldName);
if (rs.wasNull()) {
fieldValue.put(fieldName, null);
} else {
fieldValue.put(fieldName, s);
}
} else if (fieldClassName.equals("java.lang.Double")) {
double s = rs.getDouble(fieldName);