mybatis批量新增这里写自定义目录标题
方式一:foreach方法插入
public SqlSession getSqlSession() {
String resource = “mybatis-config.xml”;
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
return sqlSession;
}
@Test
public void foreachbatchInsert() {
SqlSession sqlSession = getSqlSession();
CommonMapper mapper = sqlSession.getMapper(CommonMapper.class);
Long t1 = System.currentTimeMillis();
List consultContracts = new ArrayList<>();
for (int i = 0; i < 10; i++) {
ConsultContract consultContract = new ConsultContract();
consultContract.setActiveTime(“2021-3-10”);
consultContract.setContractCode(“ER”);
consultContract.setPsptId(“456979432”);
consultContract.setState(1);
consultContracts.add(consultContract);
}
mapper.saveContracts(consultContracts);
sqlSession.commit();
sqlSession.close();
System.out.println(System.currentTimeMillis() - t1);
}
mapper接口
int saveContracts(List contracts);
对应的sql语句
insert into consult_contract(psptId,contract_code,state,activeTime) values (#{item.psptId},#{item.contractCode},#{item.state},#{item.activeTime})执行结果![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/190412885c317fdd8adc42ad67f90f6c.png)
方式二:batch方式插入
public SqlSession getBatchSqlSession() {
String resource = “mybatis-config.xml”;
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
return sqlSession;
}
@Test
public void batchInsert() {
SqlSession sqlSession = getBatchSqlSession();
CommonMapper mapper = sqlSession.getMapper(CommonMapper.class);
Long t1 = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
ConsultContract consultContract = new ConsultContract();
consultContract.setActiveTime(“2021-3-10”);
consultContract.setContractCode(“ER”);
consultContract.setPsptId(“456979432”);
consultContract.setState(1);
System.out.println(mapper.saveContractSelectKey(consultContract));
}
sqlSession.commit();
sqlSession.close();
System.out.println(System.currentTimeMillis() - t1);
}
mapper接口
int saveContractSelectKey(ConsultContract contract);