没有什么参考性,大概只适合我当前的场景:
1.数据源为一个,目标数据库3个
2.表按城市划分
3.从一个model表中提取建表语句,model表是所有对应城市的表的数据类型以及索引的模板
4.先建表,再插入数据
不过还是记下来免得以后需要时还得再写一次
1.数据源为一个,目标数据库3个
2.表按城市划分
3.从一个model表中提取建表语句,model表是所有对应城市的表的数据类型以及索引的模板
4.先建表,再插入数据
不过还是记下来免得以后需要时还得再写一次
- public class DataMigration {
- static Connection connSrc = null;
- static Connection connDst[] = new Connection[3];
- static String[] CITY_CODE = {
- "bj", "cd", "chc", "chsh", "cq", "dl", "fzh", "gy", "gz", "hrb",
- "hz", "jn", "km", "lzh", "nb", "nch", "nj", "qd", "sh", "shjzh",
- "sy", "sz", "szh", "tj", "wh", "wlmq", "wx", "xa", "xm", "zhzh"
- };
- static Map<String, String> TABLES = new HashMap<String, String>();
- static Map<String, List<String>> FIELDS = new HashMap<String, List<String>>();
- static {
- try {
- Class.forName("org.gjt.mm.mysql.Driver");
- connSrc = DriverManager.getConnection("jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=UTF-8", "XXX", "XXX");
- connDst[0] = DriverManager.getConnection("jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=UTF-8", "XXX", "XXX");
- connDst[1] = DriverManager.getConnection("jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=UTF-8", "XXX", "XXX");
- connDst[2] = DriverManager.getConnection("jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=UTF-8", "XXX", "XXX");
- } catch (Exception e) {
- e.printStackTrace();
- }
- TABLES.put("_XXX", "XXX_model");
- TABLES.put("_YYY", "YYY_model");
- TABLES.put("_ZZZ", "ZZZ_model");
- TABLES.put("_UUU", "UUU_model");
- }