一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<root>
<fruit>
<code>1</code>
<value>10</value>
</fruit>
<fruit>
<code>2</code>
<value>5</value>
</fruit>
<fruit>
<code>3</code>
<value>12</value>
</fruit>
</root>
xml中code=1代表的是苹果,code=2代表的是橘子 , code=3代表的是香蕉
有一个实体类是水果类
public class fruit{
private String apple;
private String banana;
private String orange;
//getter , setter 方法
}
根据xml的这些内容存入数据库的fruit表中
1.定义一个常量类
public class Constant{
public static Map<String,String> FRUIT_MAP = new HashMap<String,String>(){{
put("1","apple");
put("2","banana");
put("3",orange);
}};
}
2.用dom4j循环取出xml中的内容
在循环里面加上下面的代码:
Fruit fruit = new Fruit();
String code = xml取的值;
String value = xml取的值;
String name = Constant.FRUIT_MAP.get(code);
PropertyUtils.setProperty(fruit, name, value);
3.将水果放入List里面,进行批量插入
注意:PropertyUtils是commons-lang的包里面,有兴趣也可以自己来写这个类。
这样避免了重复的if语句判断。 如果水果的实体类里面有20-30个说过是不是减少了代码的冗余。