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

📄 vofactory.java

📁 数据库连接池的写法
💻 JAVA
字号:
/*
 * 创建日期 2005-10-29
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package databaseConnectPool;

import java.io.ByteArrayInputStream;
import java.io.Serializable;
import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class VOFactory {
//	 构造出的对象集合
	 private ArrayList list=new ArrayList();
	 
	 /** 利用反射获取结果集  */
	 public List parse(Serializable source, String xml){
	  try{
	   //构造 XML 输入流
	   ByteArrayInputStream ba=new ByteArrayInputStream(xml.getBytes());
	   //Dom4J 初始化
	   SAXReader reader = new SAXReader();
	   Document document = reader.read(ba);
	   Element root = document.getRootElement();
	   //获得类对象
	   Class c = source.getClass();
	   //获得构造函数
	   Constructor[] cons=c.getDeclaredConstructors();
	   Constructor con=cons[0];
	   //获得类中的字段
	   Field[] fields = c.getDeclaredFields();
	   //设置访问private字段的权限
	   AccessibleObject.setAccessible(fields,true);
	   //以特定名称获得 XML 元素列表
	   List lis = root.elements("ARSUBITEM");
	   //"ARSUBITEM"元素下的子元素
	   for(int i=0;i<lis.size();i++){
	    Element element=(Element)lis.get(i);
	    Iterator iter=element.elementIterator();
	    //从构造函数实例化对象
	    Serializable localObj=(Serializable)con.newInstance(null);
	    //按照字段个数循环
	    int j=0;
	    while(iter.hasNext()){
	     Element e=(Element)iter.next();
	     fields[j].set(localObj,e.getText());
	     j++;
	    }
	    list.add(localObj);
	   }
	  }catch(Exception e){
	   e.printStackTrace();
	  }
	  return list;
	 }

	 public static void main(String[] args) {
	 	VOFactory v=new VOFactory();
	 	
		}
}

⌨️ 快捷键说明

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