需求:批量插入一些对象。
调用方法:
public void saveBatch(String str, LwsQResult model) {
// TODO Auto-generated method stub
String[] sampleIdParent = str.split("\\|");
for(int i=0;i<sampleIdParent.length;i++){
model.setId(""); // ①
model.setdel("0");
model.setSampleParentId(sampleIdParent[i]);
dao.save();
dao.flash();
}
}
model的大部分属性都是相同的,只有每个model的Id,del,SampleParentId是不相同的。
刚开始编写时没有①, 这样当循环的i=1时就变成了对原vo的修改,而不是再增加一条,故考虑修改vo的Id,想让他以另一个对象的形式插入数据库中,但执行到i=1时就报错误了,原因是vo和数据库已经同步了,这时不能在修改该vo的主键。
所以这种批量存储VO只能每次新建个对象来赋值。
另外,如果dao.flash()后增加一句:model.setdel("1"); 那么最后插入数据库中的del为1,不用再执行merge或flash就可与数据库同步。