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