# 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数据结构:


界面:



生成的数据库: