一、基本操作(只写关键步骤)
1.数据库连接
jdbc.url=jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=true
2.配置实体类
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.yanankk.mapper"/>
</bean>
3.配置SqlSessionTemplate
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" scope="prototype">
<constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>
4.实体类(以MySQL为例,不使用主键生成策略)
@Table(name = "t_user")
public class User{
/** 主键id */
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
//或者使用:@GeneratedValue(strategy = GenerationType.IDENTITY,generator="JDBC")
private Long id
5.对应mapper
public interface UserMapper extends Mapper<User> {
}
6.业务代码
// 开启批处理,关闭自动提交
SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory().openSession(ExecutorType.BATCH, false);
// 获取mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
for (int i = 0; i < 10000; i++) {
User user= new User();
User.setName("测试" + i);
mapper.insert(user);
}
//提交 清除缓存
sqlSession.commit();
sqlSession.clearCache();
7.结果
一共插入时间:1364 ms