⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtopopulator.java

📁 一个jsp的oa系统,里面有很多亮点学习!
💻 JAVA
字号:
package com.oa.lp.util;
import java.lang.reflect.Field;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.beanutils.BeanUtils; 
 
public class DTOPopulator {
	public static List populate(ResultSet rs,Class clazz) throws Exception{
		ResultSetMetaData metaData = rs.getMetaData();
		int colCount = metaData.getColumnCount();
		List ret = new ArrayList();
		Field[] fields = clazz.getDeclaredFields();
		
		while(rs.next()){
			Object newInstance = clazz.newInstance();
			for(int i=1;i<=colCount;i++){
				try{
					Object value = rs.getObject(i);
					for(int j=0;j<fields.length;j++){
						Field f = fields[j];
						if(f.getName().equalsIgnoreCase(metaData.getColumnName(i).replaceAll("_",""))){
							if(value!=null){
								if(value instanceof java.sql.Timestamp){
									java.sql.Timestamp temp = (java.sql.Timestamp)value;
									value = new java.sql.Date(temp.getTime());
								}
								BeanUtils.copyProperty(newInstance,f.getName(),value); 
							}
						}
					}
				}catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
				}
			}
			ret.add(newInstance);
		}
		return ret;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -