📄 excelconfigmanagerimpl.java
字号:
package com.javayjm.excel.config.impl;
import java.io.File;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.javayjm.excel.config.ConfigConstant;
import com.javayjm.excel.config.ExcelConfigManager;
import com.javayjm.excel.config.RuturnConfig;
import com.javayjm.excel.config.RuturnPropertyParam;
public class ExcelConfigManagerImpl implements ExcelConfigManager {
private String configName = "ImportExcelToModel.xml";
private SAXReader saxReader;
private Document doc;
private Element root;
public ExcelConfigManagerImpl(){
String str = this.getClass().getResource("/").getPath();
//this.getClass().getResourceAsStream("/");
System.out.println(str + configName);
//InputStream in = ClassLoader.getSystemResourceAsStream(configName);
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(configName);
saxReader = new SAXReader();
try {
//doc = saxReader.read(new File(str + configName));
doc = saxReader.read(in);
} catch (DocumentException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
root = doc.getRootElement();
}
public Element getModelElement(String modelName){
System.out.println("modelName = " + modelName + "-----------");
List list = root.elements();
Element model = null;
Element returnModel =null;
for(Iterator it = list.iterator();it.hasNext();){
model = (Element) it.next();
System.out.println(model.attributeValue("id"));
if(model.attributeValue("id").equals(modelName)){
returnModel = model;
break;
}
}
return returnModel;
}
public RuturnConfig getModel(String modelName,String flag){
Element model = this.getModelElement(modelName);
RuturnConfig result = new RuturnConfig();
if(model!=null){
result.setClassName(model.attributeValue(ConfigConstant.MODEL_CLASS));
result.setPropertyMap(this.getPropertyMap(model));
}
return result;
}
private Map<String,RuturnPropertyParam> getPropertyMap(Element model){
Map<String,RuturnPropertyParam> propertyMap = new HashMap<String,RuturnPropertyParam>();
List list = model.elements();
Element property = null;
for(Iterator it = list.iterator();it.hasNext();){
property = (Element) it.next();
RuturnPropertyParam modelProperty = new RuturnPropertyParam();
modelProperty.setName(property.attributeValue(ConfigConstant.PROPERTY_NAME));
modelProperty.setColumn(property.attributeValue(ConfigConstant.PROPERTY_CLOUMN));
modelProperty.setExcelTitleName(property.attributeValue(ConfigConstant.PROPERTY_EXCEL_TITLE_NAME));
modelProperty.setDataType(property.attributeValue(ConfigConstant.PROPERTY_DATA_TYPE));
modelProperty.setMaxLength(property.attributeValue(ConfigConstant.PROPERTY_MAX_LENGTH));
modelProperty.setFixity(property.attributeValue(ConfigConstant.PROPERTY_FIXITY));
modelProperty.setCodeTableName(property.attributeValue(ConfigConstant.PROPERTY_CODE_TABLE_NAME));
modelProperty.setDefaultValue(property.attributeValue(ConfigConstant.PROPERTY_DEFAULT));
System.out.println(property.attributeValue("name"));
propertyMap.put(modelProperty.getExcelTitleName(), modelProperty);
}
return propertyMap;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ExcelConfigManagerImpl test = new ExcelConfigManagerImpl();
test.getModel("deptModel","");
//System.out.println(model.attributeValue("class"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -