Skip to content
verysu edited this page Oct 19, 2017 · 7 revisions

Welcome to the verysu-mydata wiki!
注意: 由于数据的重要性,使用此框架工具在迁移数据的时候请提前做好测试!

使用步骤 版本-1.0.0:目前只支持单表操作。

  1. 配置源数据源:sourceDataSource和目的数据源:destDataSource
  2. 配置源表的sql和目的表的sql batchSize指定批量数,delete指定是否在迁移过程删除原表数据。

例子1)默认迁移,包含原主键

<mydata:mydata batchSize="1000" id="mydata"> <mydata:sourceTable sql="select * from user1" delete="false" ></mydata:sourceTable> <mydata:destTable sql="insert into user2(id,username,age) values(?,?,?)"></mydata:destTable> </mydata:mydata>

例子2)根据目的表自增主键

<mydata:mydata batchSize="1000" id="mydata"> <mydata:sourceTable sql="select * from user1" delete="false" ></mydata:sourceTable> <mydata:destTable sql="insert into user2(username,age) values(?,?)"></mydata:destTable> </mydata:mydata>

例子3)指定主键生成策略(时间戳TimestampAndRandomCharIdStrategy或者雪花算法SnowflakeIdStrategy)或者继承AbstractIdStrategy 来自定义主键生成策略

<mydata:mydata batchSize="1000" id="mydata"> <mydata:sourceTable sql="select * from user1 where id > 100000" delete="false" ></mydata:sourceTable> <mydata:destTable sql="insert into user4(id,username,age,createTime) values(?,?,?,NOW())" idField="id" idStrategy="com.verysu.mydata.id.TimestampAndRandomCharIdStrategy"/>

  1. 运行: 打成jar,运行 java -jar verysu-mydata-1.0.0.jar 或者 启动com.verysu.mydata.boot.Bootstrap.main

优化建议:MySQL增加一个参数,速度提高400倍!
Clone this wiki locally