DbSyncService.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package jnpf.base.service;
  2. import java.util.List;
  3. import java.util.Map;
  4. /**
  5. * 数据同步
  6. *
  7. * @author JNPF开发平台组
  8. * @version V3.1.0
  9. * @copyright 引迈信息技术有限公司
  10. * @date 2019年9月27日 上午9:18
  11. */
  12. public interface DbSyncService {
  13. /**
  14. * 数据表同步验证
  15. *
  16. * @param dbLinkIdFrom 数据库连接From
  17. * @param dbLinkIdTo 数据库连接To
  18. * @param table 表名
  19. * @return 1:初始库表中没有数据
  20. * 2:目标库中该表不存在,是否在目标库中创建该表,并同步数据?
  21. * 3:目标表存在数据,是否自动清除并同步数据?
  22. * 0:同步成功
  23. * -1:请检查,同一数据库下无法同步数据
  24. * @throws Exception ignore
  25. */
  26. Integer executeCheck(String dbLinkIdFrom, String dbLinkIdTo, Map<String, String> convertRuleMap, String table) throws Exception;
  27. /**
  28. * 同步表执行
  29. *
  30. * @param dbLinkIdFrom 数据库连接From
  31. * @param dbLinkIdTo 数据库连接To
  32. * @param table 表名
  33. * @throws Exception ignore
  34. */
  35. void execute(String dbLinkIdFrom, String dbLinkIdTo, Map<String, String> convertRuleMap, String table) throws Exception;
  36. /**
  37. * 批量执行
  38. *
  39. * @param dbLinkIdFrom 数据库连接From
  40. * @param dbLinkIdTo 数据库连接To
  41. * @param tableList 表名
  42. * @throws Exception ignore
  43. */
  44. Map<String, Integer> executeBatch(String dbLinkIdFrom, String dbLinkIdTo, Map<String, String> convertRuleMap, List<String> tableList) ;
  45. /**
  46. * 打印初始脚本
  47. *
  48. * @param printType dbInit:初始脚本、dbStruct:表结构、dbData:数据、tenant:多租户
  49. */
  50. Map<String, Integer> printDbInit(String dbLinkIdFrom, String dbTypeTo, List<String> tableList, Map<String, String> convertRuleMap, String printType) throws Exception;
  51. }