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

📄 selectfromdbload.java

📁 一个专门用来快速开发网站的框架
💻 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 + -