DTOPopulator.java
上传用户:junmaots
上传日期:2022-07-09
资源大小:2450k
文件大小:2k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * Created on 2005-11-10
  3.  *
  4.  * TODO To change the template for this generated file go to
  5.  * Window - Preferences - Java - Code Style - Code Templates
  6.  */
  7. package com.mycompany.tools;
  8. import java.lang.reflect.Field;
  9. import java.sql.ResultSet;
  10. import java.sql.ResultSetMetaData;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import org.apache.commons.beanutils.BeanUtils;
  14. /**
  15.  * @author Administrator
  16.  *
  17.  * TODO To change the template for this generated type comment go to
  18.  * Window - Preferences - Java - Code Style - Code Templates
  19.  */
  20. public class DTOPopulator {
  21. public static List populate(ResultSet rs,Class clazz) throws Exception{
  22. ResultSetMetaData metaData = rs.getMetaData();
  23. int colCount = metaData.getColumnCount();
  24. List ret = new ArrayList();
  25. Field[] fields = clazz.getDeclaredFields();
  26. while(rs.next()){
  27. Object newInstance = clazz.newInstance();
  28. for(int i=1;i<=colCount;i++){
  29. try{
  30. Object value = rs.getObject(i);
  31. for(int j=0;j<fields.length;j++){
  32. Field f = fields[j];
  33. if(f.getName().equalsIgnoreCase(metaData.getColumnName(i).replaceAll("_",""))){
  34. BeanUtils.copyProperty(newInstance,f.getName(),value);
  35. }
  36. }
  37. }catch (Exception e) {
  38. // TODO: handle exception
  39. e.printStackTrace();
  40. }
  41. }
  42. ret.add(newInstance);
  43. }
  44. return ret;
  45. }
  46. public static void main(String[] args) {
  47. // DTOPopulator p = new DTOPopulator();
  48. // java.awt.Image image = new BufferedImage(10,20,BufferedImage.TYPE_3BYTE_BGR);
  49. // Random r = new Random();
  50. // int i = r.nextInt(1000);
  51. // System.out.println("i = "+i);
  52. // image.getGraphics().drawString(""+i,1,1);
  53. String s ="[abc]abc";
  54. String string = s.replaceAll("[abc]","");
  55. System.out.println("string = "+string);
  56. java.sql.PreparedStatement ps =null;
  57. }
  58. }