liteBatch轻量级的高性能批插框架
liteBatch 是一个轻量级,高性能,高通用的批插框架。
能够像普通 insert 一样在循环中插入 PO
支持数据库和文件批插2种模式
异步执行,无阻塞
可以和各种 ORM 结合使用
提供对 spring 的支持
兼容各种数据库
适应所有的 VO ,自动生成脚本
性能高效,测试机上测试大概4w+/秒
自动处理各种基础类型的数据
支持自定义的映射和过滤字段
Quick Start
也可以参考 test 工程的 testUnit
try { Random random = new Random(); Person person = null; for (int i = 0; i < 100300; i++) { person = new Person(); person.setAge(random.nextInt(100)); person.setAddress("XX马路"+random.nextInt(100)+"号"); person.setCompany("天天 向上科技有限公司"); person.setName("张三"); person.setCreateTime(new Date()); rowBatchListener.insertOneWithBatch(person); } } catch (Exception e) { e.printStackTrace(); } finally { rowBatchListener.flush(); }
<bean id="rowBatchListener" class="com.thebeastshop.batch.spring.RowBatchListenerFactoryBean"> <property name="jdbcTemplate" ref="jdbcTemplate"/> <property name="submitCapacity" value="5000"/> <property name="beanClass" value="com.thebeastshop.batch.test.Person"/> <!--<property name="syn" value="true"/>默认为false,推荐采用false,打开的话,则为同步模式--> </bean>
注意
在mysql数据库下,需要注意以下几点
驱动包一定得5.1.13版本以上(含)
在jdbc连接url里得加上rewriteBatchedStatements=true参数
评论