上一篇里写到通过VBS将Excel里的表生成创表脚本,最终生成的是sql。这一篇是扩展,主要是通过java读取Excel表,然后同步到数据库的表结构中。
这次是同步,不只是单单的创建表,另外,Excel做元数据并不是长远之计,所以,在这篇文章中,我在创建的数据库中添加两张元数据表,一张为tableMate,用于替换Excel中的第一张表。另一张为columnMate,用于记录所有表的字段。
流程:
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数据结构:
界面:
生成的数据库: