提取重复操作 & 批处理
批处理的目的是一次性查询数据库,如果信息量巨大会给内存造成压力,分批处理可以提高效率,
提取重复操作是为了简化代码,便于后期维护
private void extract(int n,Object...ts){ int i = 0; //批处理 switch (n) { case SAVE: for (Object object : ts) { save(object); if(i%50==0){ //批处理 this.flush(); //批处理 this.clear(); //批处理 } } break; case UPDATE: for (Object object : ts) { update(object); if(i%50==0){ this.flush(); this.clear(); } } break; case DELETE: for (Object object : ts) { delete(object); if(i%50==0){ this.flush(); this.clear(); } } break; default: throw new RuntimeException("输入有误!"); } } @Override public void exe_insert(Object... ts) { extract(SAVE, ts); } @Override public void exe_delete(Object... ts) { extract(DELETE, ts); } @Override public void exe_update(Object... ts) { extract(UPDATE, ts); }

浙公网安备 33010602011771号