不確定的資料結構試驗clob欄位儲存

lcq_0618發表於2014-01-09
最近在做一個專案,在表單定義這塊不確定屬性個數,故選用clob欄位進行儲存,clob儲存xml結構的字串,具體如下:
1、物件轉換為字串

點選(此處)摺疊或開啟

  1. public String getString(List itemList) {
  2.     Document document = DocumentHelper.createDocument();
  3.     Element rootNode = document.addElement("root");
  4.     for (Iterator i = itemList.iterator(); i.hasNext();) {
  5.         Element itemNode = rootNode.addElement("item");
  6.         Item item = i.next;
  7.         
  8.         Element childNode = itemNode.addElement("filed1"):
  9.         childNode.setText(item.getItemFiled1());
  10.         
  11.         childNode = itemNode.addElement("field2");
  12.         childNode.setText(item.getItemFiled2());
  13.         .......
  14.     }
  15.     return document.asXML;
  16. }



2、字串反轉為物件

點選(此處)摺疊或開啟

  1. public List getObject(String text) {
  2.     Document document = null;
  3.     try {
  4.         document = DocumentHelper.parseText(text);
  5.     } catch (DocumentException e) {
  6.         e.printStackTrace();
  7.     }
  8.     if(document == null){
  9.         return null;
  10.     }
  11.     Element root = document.getRootElement();
  12.     List items = root.elements(item);
  13.     List itemList = new ArrayList();
  14.     for(Iterator i = items.iterator(); i.hasNext();){
           Element item = i.next();
           Item item = new Item();

  15.       String elementText = item.elementText(filed1);
          item.setItemField1(elementText == null ? "" : elementText);
  16.       elementText = item.elementText(filed2);
          item.setItemField2(elementText == null ? "" : elementText);
  17.        itemList.add(item);
  18.     }
  19.     return itemList
  20. }

3、Hibernate配置
對於clob欄位 將型別設定為text介面

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10712951/viewspace-1068838/,如需轉載,請註明出處,否則將追究法律責任。

相關文章