package pwc.taxtech.atms.dao; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import pwc.taxtech.atms.entity.CellTemplate; import pwc.taxtech.atms.entity.CellTemplateExample; import javax.annotation.Resource; import java.util.List; @Service public class CellTemplateDao { @Autowired private CellTemplateMapper mapper; @Resource(name = "sqlSessionTemplate") private SqlSessionTemplate sqlSessionTemplate; public List<CellTemplate> getByTemplateId(Long id) { CellTemplateExample example = new CellTemplateExample(); CellTemplateExample.Criteria criteria = example.createCriteria(); criteria.andReportTemplateIdEqualTo(id); return mapper.selectByExample(example); } public void batchInsert(List<CellTemplate> list) { long start = System.currentTimeMillis(); SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH); for (CellTemplate cellTemplate : list) { mapper.insertSelective(cellTemplate); } sqlSession.commit(); long end = System.currentTimeMillis(); System.out.println("---------------batch insert: count:" + list.size() + " time: " + (start - end) + "---------------"); } }