{
"inserted":[],
"updated":[],
"deleted":[
{
"paramName":"123",
"parentParamName":"12312312",
"constraints":"?",
"dataType":"int",
"length":"123",
"paramChname":"12312312",
"describe":"3123123132321"
}
]}
"inserted":[],
"updated":[],
"deleted":[
{
"paramName":"123",
"parentParamName":"12312312",
"constraints":"?",
"dataType":"int",
"length":"123",
"paramChname":"12312312",
"describe":"3123123132321"
}
]}
Object[] result = new Object[2];
char beanPropertyChars[] = beanProperty.toCharArray();
beanPropertyChars[0] = Character.toUpperCase(beanPropertyChars[0]);
String s = new String(beanPropertyChars);
String names[] = { ("set" + s).intern(), ("get" + s).intern()};
Method getter = null;
Method setter = null;
Method methods[] = clazz.getMethods();
for (int i = 0; i < methods.length; i++) {
Method method = methods[i];
if (!Modifier.isPublic(method.getModifiers()))
continue;
String methodName = method.getName().intern();
for (int j = 0; j < names.length; j++) {
String name = names[j];
if (!name.equals(methodName))
continue;
if (methodName.startsWith("set"))
setter = method;
else
getter = method;
}
}
result[0] = getter;
result[1] = setter;
return result;
}
//通过反射机制将不同类型类型进行数据绑定
private void beanRegister(Object object, String beanProperty, String value) {
Object[] beanObject = beanMatch(object.getClass(), beanProperty);
Object[] cache = new Object[1];
Method getter = (Method) beanObject[0];
Method setter = (Method) beanObject[1];
try {
// ͨ��get��÷�������
String methodType = getter.getReturnType().getName();
if (methodType.equalsIgnoreCase("long")) {
cache[0] = new Long(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("int")
|| methodType.equalsIgnoreCase("integer")) {
cache[0] = new Integer(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("short")) {
cache[0] = new Short(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("float")) {
cache[0] = new Float(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("double")) {
cache[0] = new Double(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("boolean")) {
cache[0] = new Boolean(value);
setter.invoke(object, cache);
} else if (methodType.equalsIgnoreCase("java.lang.String")) {
cache[0] = value;
setter.invoke(object, cache);
}
else if (methodType.equalsIgnoreCase("java.sql.Date")) {
DateFormat fmt =new SimpleDateFormat("yyyy-mm-dd hh:mm");
Date date = fmt.parse(value);
cache[0] = value;
setter.invoke(object, cache);
}
else if (methodType.equalsIgnoreCase("java.util.Date")) {
cache[0] = value;
setter.invoke(object, cache);
}else if (methodType.equalsIgnoreCase("java.io.InputStream")) {
} else if (methodType.equalsIgnoreCase("char")) {
cache[0] = (Character.valueOf(value.charAt(0)));
setter.invoke(object, cache);
}
} catch (Exception e) {
e.printStackTrace();
}
} public Collection get(final Class clazz, final ResultSet result) {
Collection collection = null;
try {
ResultSetMetaData rsmd = (ResultSetMetaData) result.getMetaData();
int cols = rsmd.getColumnCount();
collection = new ArrayList(cols);
while (result.next()) {
Object object = null;
try {
object = clazz.newInstance();
} catch (Exception e) {
}
for (int i = 1; i <= cols; i++) {
String s=result.getString(i)==null?"":result.getString(i);
beanRegister(object, rsmd.getColumnName(i), s);
}
collection.add(object);
}
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
}
return collection;
}
给你个参考吧