# mybatis-encrypt-data-migration **Repository Path**: bit4/mybatis-encrypt-data-migration ## Basic Information - **Project Name**: mybatis-encrypt-data-migration - **Description**: mybatis加密数据迁移工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-18 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MybatisEncrypt数据迁移工具 ## 快速开始 1. 添加依赖 - maven ```xml cn.bincker mybatis-encrypt-data-migration [version] test ``` - gradle ```groovy testImplementation 'cn.bincker:mybatis-encrypt-data-migration:$version' ``` 2. 准备好数据库 先将表结构迁移到目的数据库,表结构可以不修改,工具会自行修改表结构 > (请仔细检查数据源和目的数据源,不要搞混淆,修改表结构可能会导致数据丢失!!!) 3. 编写迁移 ```java class Test{ @Test void migrate() { var databaseMigrate = new CommonMigrateDatabase(//通用数据迁移,特定数据库可以自行实现AbstractMigrateDatabase,或者直接继承CommonMigrateDatabase dataSource,//迁移数据源,可以注入进来 dataSource,//目的数据源,如果是同一个数据库不同模式可以使用相同的数据源 encryptExecutor,//EncryptExecutor可以注入或者自己构造,可以使用MybatisEncryptConfigurer的实现获取 false,//是否迁移所有数据,即不加密的数据也进行迁移,一般不需要 1000,//每个批次插入的数据量 false//遇到错误是否继续 ); databaseMigrate.registerTable(Demo.class);//注册需要加密的实体类 databaseMigrate.getMigrateTables().forEach(table->{//调整迁移表信息,比如设置表名称大小写、设置Schema等等 table.setSrcSchema("src"); table.setDistSchema("dist"); }); databaseMigrate.migrate();//开始迁移 } } ``` 4. 注意事项 - 请仔细检查代码目的数据源有没有设置错误 - 数据迁移会自动比对迁移过的数据,所以不必担心进度问题