實體對象存儲實例

Yangcl 12年前發布 | 4K 次閱讀 Streem

public class EntityTest  
{  
    public class Eascovery  
    {  
        private void XmlCreater() // 這個方法用于創建 Xml 文檔:EquipDict.xml  
        {  
            Map<String, Equip> equipMap = new HashMap<String, Equip>();  

            String hql = "from Zzqcdmzdb dmzdb order by dmzdb.zbdm";  
            List<Zzqcdmzdb> list = service.findByHql(hql, null);  
            for (Zzqcdmzdb zdb : list)  
            {  
                String zbdm = zdb.getZbdm();  
                String zbmc = zdb.getZbmc();  
                String qcdm = zdb.getQcdm();  
                String qcmc = zdb.getQcmc();  

                if (!equipMap.containsKey(zbdm))  
                {  
                    Equip equip = new Equip();  
                    equip.setZbdm(zbdm);  
                    equip.setZbmc(zbmc);  

                    Instrument ins = new Instrument();  
                    ins.setQcdm(qcdm);  
                    ins.setQcmc(qcmc);  

                    List<Instrument> listIns = new ArrayList<Instrument>();  
                    listIns.add(ins);  
                    equip.setInstrument(listIns);  

                    equipMap.put(zbdm, equip);  
                }  
                else // 這種情況下 key 已經存在,你只需要從已經存在的對象中取出 
                {  
                    Equip equip = equipMap.get(zbdm); //Map的 get(T key) 方法是返回以Key為健的 Value值 

                    Instrument ins = new Instrument();  // 注意Key存在了,但是器材是不同的,所以要重新創建這個對象 Instrument
                    ins.setQcdm(qcdm);  
                    ins.setQcmc(qcmc);  

                    List<Instrument> listIns = equip.getInstrument();  
                    listIns.add(ins);  
                    equip.setInstrument(listIns);  
                }  
            }  

            List<Equip> result = new ArrayList<Equip>();  
            result.addAll(equipMap.values());  
            String resultXml = x.toXML(result);  
            // if (log.isDebugEnabled())  
            // log.debug("[周轉器材本級入庫/export()]導出XML:" + resultXml);  

            ByteArrayInputStream bais = null;  
            BufferedOutputStream bos = null;  
            try  
            {  
                HttpServletResponse resp = getUTFResponse();  
                resp.setContentType("text/xml");  
                resp.setHeader("Content-disposition", "attachment; filename="  + new String("EquipList.xml")); 

                bais = new ByteArrayInputStream(resultXml.getBytes("UTF-8"));  
                bos = new BufferedOutputStream(resp.getOutputStream());  

                int bytesRead;  

                byte[] buff = new byte[4096];  

                while (-1 != (bytesRead = bais.read(buff, 0, buff.length)))  
                {  
                    bos.write(buff, 0, bytesRead);  
                }  
            }  
            catch (Exception e)  
            {  
                log.error("操作異常", e);  
                ajaxJson("{success:false, message:'操作異常:" + ExceptionUtils.getRootCauseMessage(e) + "'}"); 

            }  
            finally  
            {  

                if (bais != null)  
                    try  
                    {  
                        bais.close();  
                    }  
                    catch (Exception e)  
                    {  

                    }  

                if (bos != null)  
                    try  
                    {  
                        bos.close();  
                    }  
                    catch (Exception e)  
                    {  

                    }  
            }  

        }  
    }  
}  


======================================================================================================================================  

public class Equip  
{  
    private String zbmc;  
    private String zbdm;  
    private List<Instrument> instrument;  

    public String getZbmc()  
    {  
        return zbmc;  
    }  

    public void setZbmc(String zbmc)  
    {  
        this.zbmc = zbmc;  
    }  

    public String getZbdm()  
    {  
        return zbdm;  
    }  

    public void setZbdm(String zbdm)  
    {  
        this.zbdm = zbdm;  
    }  

    public List<Instrument> getInstrument()  
    {  
        return instrument;  
    }  

    public void setInstrument(List<Instrument> instrument)  
    {  
        this.instrument = instrument;  
    }  
}  


==================================================================================================================================  
public class Instrument  
{  
    private String qcmc;  
    private String qcdm;  

    public String getQcmc()  
    {  
        return qcmc;  
    }  
    public void setQcmc(String qcmc)  
    {  
        this.qcmc = qcmc;  
    }  
    public String getQcdm()  
    {  
        return qcdm;  
    }  
    public void setQcdm(String qcdm)  
    {  
        this.qcdm = qcdm;  
    }  
} 




 本文由用戶 Yangcl 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!