# SyncDB
**Repository Path**: java2demo/SyncDB
## Basic Information
- **Project Name**: SyncDB
- **Description**: 通过excel表同步sql数据库。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: http://blog.csdn.net/hzaccp3/article/details/9992333
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2015-08-29
- **Last Updated**: 2020-12-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
上一篇里写到通过VBS将Excel里的表生成创表脚本,最终生成的是sql。这一篇是扩展,主要是通过java读取Excel表,然后同步到数据库的表结构中。
这次是同步,不只是单单的创建表,另外,Excel做元数据并不是长远之计,所以,在这篇文章中,我在创建的数据库中添加两张元数据表,一张为tableMate,用于替换Excel中的第一张表。另一张为columnMate,用于记录所有表的字段。
源码:
http://git.oschina.net/hzaccp/SyncDB
流程:
1:初始化数据库-->创建目标库-->创建元数据表.
2:读取Excel-->封装为JavaBean-->添加不存在的表-->修改变动的表-->添加不存在的字段-->修改变动的字段.
类结构:

Column.java和Table.java:列和表的实体
ConConfig.java:连接类的实体,包含用户名,密码和数据库地址
ConnectionHelper.java:数据库连接操作工具类,包括测试连接、打开、关闭连接
ExcelHelper.java:excel表操作工具类,用于将Excel表封装成javabean
MssqlDBHelper.java:对应sqlserver底层操作类,包括建库、建表、同步表及将数据库中tableMate和columnMate封装成javabean
SyncDbBiz.java 业务层,包括同步数据库和生成sql.
MainWindow.java 操作界面.
Excel数据结构:

界面:

生成的数据库:
