今天在清源学习的时候看到网站的这个资料,还不错拿出来分享一下。推荐一个清源教育的java培训群:244183500

将数据库中的ResutSet对象映射成为Model对象,方便进行数据操作。
package com.daxia.utility;
import java.lang.reflect.Field;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.daxia.model.Student;
import com.daxia.model.Subject;
public class RsToModel {
/**
*
*
* @param rs
* @param obj
*/
public static void parase(ResultSet rs, Object obj) {
String[] fieldsName = ModelHelper.getFieldsName(obj);
Class[] fieldsType = ModelHelper.getFieldsType(obj);
Field[] fields = ModelHelper.getFields(obj);
Object value = null;
for (int i = 0; i < fieldsName.length; i++) {
try {
if (fieldsType[i].equals(String.class)) {
value = rs.getString(fieldsName[i]);
} else if (fieldsType[i].equals(int.class)) {
value = rs.getInt(fieldsName[i]);
} else if (fieldsType[i].equals(long.class)) {
value = rs.getInt(fieldsName[i]);
} else if (fieldsType[i].equals(double.class)) {
value = rs.getInt(fieldsName[i]);
} else if (fieldsType[i].equals(Student.class)) {
String id = rs.getString(fieldsName[i]);
value = new Student(id);
} else if (fieldsType[i].equals(Subject.class)) {
String id = rs.getString(fieldsName[i]);
value = new Subject(id);
}
fields[i].set(obj, value);
} catch (SQLException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}

资料来源:www.tsingyuan.cn