整合Spring 与 Mybatis 的批量插入数据,需要使用到SQLSessionFactory 使用原生sql语句进行批量写入,速度会快上很多。
- 需要在Spring的配置文件中配置好mybatis相关的配置,包括了各种各样的bean这一点非常重要,因为是mybatis 与Spring整合了,所以事务相关的东西都交给了Spring来处理,如果这步没有处理好,那么就下一步就无法注入SqlSessionFactory 到service impl 方法中。(这个配置会在Spring的xml配置文件中出现)
- 然后在server impl 方法中,@Autowerd 进SqlSessionFactory
- 接着,获取到session然后再执行具体的逻辑操作。
@Autowired
private SqlSessionFactory sqlSessionFactory;
/*这是伪代码*/
public String getPersion(List<Amount> list){
SqlSession session =
sqlSessionFactory.openSession(Executory.BaTCH,false);
String sql = "insert into amount (id,name,num) values (?,?,?)";
Connection connection = session.getConnection(sql);
PrepareStatement ps = connection.prepareStatement();
for( int i=0; i<= list.size(); i++ ){
Amount amount = list.get(i);
ps.setSt