代码如下
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;
/*********************************
* 文件名称: ResultData.java
* 功能说明:
* 开发人员:
* 开发时间:2018/8/29 16:29
*********************************/
public class ResultData {
/**
* 将结果集映射到对象中
*
* 1,遍历结果集
* 2,遍历列名
* 3,匹配对象中的属性
*
* @param rs
* @param tClass
* @param <T>
* @return
*/
public <T> List<T> getData(ResultSet rs, Class<T> tClass) {
List<T> list = new ArrayList<T>();
boolean isCamelCase = true; // 是否启用驼峰命名法
try {
// 获取所有列名
ResultSetMetaData rsMeta = rs.getMetaData();
int columnCount = rsMeta.getColumnCount();
List<String> columnList = new ArrayList<String>();
for (int i = 1; i <= columnCount; i++) {
columnList.add(rsMeta.getColumnLabel(i));
}
// 获取类中所有属性(包括private)
Field[] fields = tClass.getDeclaredFields();
T obj = null;
// 遍历结果集
while (rs.next()) {
obj = tClass.newInstanc