📄 selectfromdbload.java
字号:
package com.core.init;
/**
* 解析SelectFromXML.xml,格式:
<mdgl-config>
<config name="LOGON_ACTION_NAME" value="wewe"/>
<config name="PAGE_SIZE" value="3"/>
</mdgl-config>
*/
import java.util.ArrayList;
import java.util.Collection;
import java.io.File;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.core.taglib.SelcetCache;
import com.core.taglib.components.SelectOption;
import java.io.InputStream;
import com.core.persistence.PersistenceManager;
import org.apache.commons.beanutils.DynaBean;
/**
* 加载Config.xml配置文件中的值,赋给Config的变量。
<?xml version="1.0" encoding="GBK"?>
<SelectDefineByDB>
<select name="lx" tablename="t_lx" valueField="lx" optionField="mc">
</SelectDefineByDB>
*/
public class SelectFromDBLoad {
private static Log log = LogFactory.getLog(SelectFromDBLoad.class);
public SelectFromDBLoad() {
}
//在元属开始事件中进行的工作
public void parserXML(String fileName) {
try {
// 从类路径读取配置文件。
InputStream stream = this.getClass().getResourceAsStream(fileName);
// File f=new File(fileName);
SAXReader reader = new SAXReader();
Document doc = reader.read(stream);
Element root = doc.getRootElement();
log.info("Root:" + root.getName());
// 解析select集合
Element select;
ArrayList selectlist = new ArrayList();
for (Iterator i = root.elementIterator("select"); i.hasNext(); ) {
select = (Element) i.next();
String stlectName = ( (Attribute) select.attribute("name")).getValue();
String tablename = ( (Attribute) select.attribute("tablename")).getValue();
String valueField = ( (Attribute) select.attribute("valueField")).getValue();
String optionField = ( (Attribute) select.attribute("optionField")).getValue();
// 查询数据库,然后添加到缓存。
PersistenceManager pm = new PersistenceManager();
// ArrayList list=pm.executeSQLQuery("select * from t_lx");
List list = pm.executeSQLQuery("select " + valueField + "," + optionField + " from " + tablename);
log.info("Select:" + stlectName + " tablename:" + tablename + " valueField:" + valueField + " optionField:" + optionField);
for (int k = 0; k < list.size(); k++) {
DynaBean row = (DynaBean) list.get(k);
selectlist.add(new SelectOption(row.get(valueField).toString(), row.get(optionField).toString()));
log.info("Value:" + row.get(valueField) + "! Option=" + row.get(optionField));
}
// 添加入缓存
SelcetCache.getInstance().addSelect(stlectName, selectlist);
}
} catch (Exception e) {
e.printStackTrace();
}
}
/* main method for test: */
public static void main(String[] args) {
SelectFromDBLoad u = new SelectFromDBLoad();
u.parserXML("F:\\SelectFromDB.xml");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -