最近在做一个项目,在表单定义这块不确定属性个数,故选用clob字段进行存储,clob存储xml结构的字符串,具体如下:
1、对象转换为字符串
-
public String getString(List
- itemList) {
-
Document document = DocumentHelper.createDocument();
-
Element rootNode = document.addElement("root");
-
for (Iterator
- i = itemList.iterator(); i.hasNext();) {
-
Element itemNode = rootNode.addElement("item");
-
Item item = i.next;
-
-
Element childNode = itemNode.addElement("filed1"):
-
childNode.setText(item.getItemFiled1());
-
-
childNode = itemNode.addElement("field2");
-
childNode.setText(item.getItemFiled2());
-
.......
-
}
-
return document.asXML;
-
}
2、字符串反转为对象
-
public List
- getObject(String text) {
-
Document document = null;
-
try {
-
document = DocumentHelper.parseText(text);
-
} catch (DocumentException e) {
-
e.printStackTrace();
-
}
-
if(document == null){
-
return null;
-
}
-
Element root = document.getRootElement();
-
List items = root.elements(“item”);
-
List
- itemList = new ArrayList
- ();
-
for(Iterator i = items.iterator(); i.hasNext();){
Element item = i.next();
Item item = new Item();
-
String elementText = item.elementText(filed1);
item.setItemField1(elementText == null ? "" : elementText);
-
elementText = item.elementText(filed2);
item.setItemField2(elementText == null ? "" : elementText);
-
itemList.add(item);
-
}
-
return itemList
-
}
-
3、Hibernate配置
对于clob字段 将类型设置为text接口
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10712951/viewspace-1068838/
,如需转载,请注明出处,否则将追究法律责任。