@Autowired
ReleaseMapper batchMapper;
@Autowired
private SqlSessionFactory sqlSessionFactory;
@Transactional(rollbackFor = Exception.class)
@Override
public void doDaToRtNewPowerPlan(List<ParamVO> rtDaNewPower, String pdate) {
releaseMapper.deleteRtDaNewPlan(pdate);
SqlSession sqlSession = null;
try {
sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
batchMapper = sqlSession.getMapper(ReleaseMapper.class);
for (ParamVO vo : rtDaNewPower) {
batchMapper.saveRtDaNewPlan(vo);
}
} catch (Exception e) {
if (sqlSession != null) {
sqlSession.rollback();
}
} finally {
if (sqlSession != null) {
sqlSession.close();
}
}
}
批处理,同一类的sql(如同增加、同删除、同更新),添加到一个batch里面,批量执行。