大数据Excel通过POI导入数据库通用设计方案

上传人:s9****2 文档编号:554536366 上传时间:2022-10-13 格式:DOC 页数:10 大小:144KB
返回 下载 相关 举报
大数据Excel通过POI导入数据库通用设计方案_第1页
第1页 / 共10页
大数据Excel通过POI导入数据库通用设计方案_第2页
第2页 / 共10页
大数据Excel通过POI导入数据库通用设计方案_第3页
第3页 / 共10页
大数据Excel通过POI导入数据库通用设计方案_第4页
第4页 / 共10页
大数据Excel通过POI导入数据库通用设计方案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《大数据Excel通过POI导入数据库通用设计方案》由会员分享,可在线阅读,更多相关《大数据Excel通过POI导入数据库通用设计方案(10页珍藏版)》请在金锄头文库上搜索。

1、目录一、总体设计思路- 1 -二、导入规则表设计- 1 -1、数据导入表规则- 1 -2、数据导入列规则- 1 -三、导入规则类设计- 3 -四、界面设计- 4 -1、规则配置界面- 4 -2、导入数据界面- 6 -五、导入逻辑- 7 -六、内部评审补充- 7 -七、设备依赖关系- 8 -设备信息Excel导入设计方案一、 总体设计思路考虑到Excel导入在项目中应用较多,随后其他项目中都会用到,为了减少重复工作,不必因为excel的样式、数据等变化而重新编码,重复劳动,因此必须抽取通用的东西出来,封装共同点,暴露个性点,使用时只需要关注相关业务,而不必关注excel的读取和存储。考虑到这个情

2、况,可以使用规则配置来解决这个问题。配置规则的时候,需要配置excel要导入的表,字段等信息,导入的时候依据这个规则将数据导入到数据库中。这样一来,在进行excel导入时候只需要为某种数据配置一个规则,然后调用封装的导入类就可以完成整个excel导入的工作了。二、 导入规则表设计1、 数据导入表规则data_import_table_rule字段名字段类型允许null值默认值备注主键IDVarchar2(32)否唯一标识,uuid是Create_timedate否sysdate创建时间Rule_nameVarchar2(32)否规则名称End_rowVarchar2(16)否blank_row

3、结束行,空行或第N行Header_indexint否1标题行索引Data_indexint否2数据行索引Table_nameVarchar2(32)否表名称Delete_repeatint否0是否删除重复行0不删除1删除Enableint否1有效标识,删除标识Blank1Varchar2(256)是扩展字段1Blank2Varchar2(256)是扩展字段2Blank3Varchar2(256)是扩展字段3Blank4Varchar2(256)是扩展字段4Blank5Varchar2(256)是扩展字段5(1) ID:数据表唯一标识,没有业务含义;(2) Create_time:创建时间;(3

4、) Rule_name:规则名称;(4) End_row:数据读取结束标识,blank_row标识遇到空行结束,数字N表示读取到第N行结束;(5) Header_index:excel标题行索引,默认值为1,表示第一行是标题行;(6) Data_index:数据开始行索引,默认值为2,表示第2行开始是正式数据;(7) Table_name:表名称,表示这个规则是针对这个表的数据导入定义的;(8) Delete_repeat:是否删除重复行,即是否导入重复数据,0则不删除,直接导入,1则先删除重复数据,然后再导入;是否重复根据规则表data_import_column_rule的Is_uniqu

5、e字段来判定,重复行是指数据库中存在与excel中相同的数据;(9) Enable:有效标识;2、 数据导入列规则 data_import _column_rule字段名字段类型允许null值默认值备注主键IDVarchar2(32)否唯一标识,uuid是Table_rule_idVarchar2(32)否data_import_table_rule表的主键Is_PKint否0是否是主键Produce_methodVarchar2(32)否生成方法,导入数据/自定义策略/默认值Is_uniqueint否0是否唯一,用来判定重复数据Column_nameVarchar2(32)否列名称Heade

6、r_nameVarchar2(32)否对应excel列头Requiredint否1是否必须填入0不必须1必须Data_typeVarchar2(16)否string数据类型,string /number /dateMax_lengthint否0允许最大存储长度,字节Produce_method_valueVarchar2(32)是生成方法值,策略方法名/默认值CommentVarchar2(128)是备注Is_dictionaryint否0是否属于字典0不属于1属于Dic_table_nameVarchar2(32)是字典表名称Dic_type_columnVarchar2(32)是字典类型字

7、段名Dic_type_valueVarchar2(32)是字典类型Dic_required_columnVarchar2(32)是字典表最终获取值列的名称Dic_reference_columnVarchar2(32)是字典表参考列的名称Enableint否1是否有效Blank1Varchar2(256)是扩展字段1Blank2Varchar2(256)是扩展字段2Blank3Varchar2(256)是扩展字段3Blank4Varchar2(256)是扩展字段4Blank5Varchar2(256)是扩展字段5(1) ID:数据表唯一标识,没有业务含义;(2) Table_rule_id:d

8、ata_import_table_rule表的主键,表示这条列规则是属于哪个表的规则;(3) Is_PK:是否是主键;(4) Produce_method:数据生成策略,导入数据/自定义策略/默认值,三种策略供选择;(5) Is_unique:是否唯一,用来判定重复数据;(6) Column_name:列名称,对应表中的列名;(7) Header_name:excel列标题,与数据表列是对应的;(8) Required:是否必须导入,0不必须1必须;(9) Data_type:数据类型,数字还是字符,number/string/date;(10) Max_length:最大允许长度,不能大于,

9、数据表中该列的长度;(11) Produce_method_value:数据生成策略值,导入数据是为空,自定义策略是为策略方法名,或者是默认值;(12) Comment:备注;(13) Is_dictionary:最终导入数据是否来源于字典,0不1是;(14) Dic_table_name:字典数据来源表的名称;(15) Dic_type_column:字典类型列的字段名;(16) Dic_type_value:该列所属的字典类型值;(17) Dic_required_column:字典表最终获取值列的名称,例如:现在需要导入“编码器类型”,excel内容是“飞利浦”,“编码器类型”是一个字典

10、,对应的字典表是“video_coding_type”,“飞利浦”是“video_coding_type_name”列的值,而数据表需要存入的是“video_coding_type_id”列的值,这时“video_coding_type_id”就是Dic_required_column,而“video_coding_type_name”就是Dic_reference_column,“video_coding_type”是Dic_table_name;(18) Dic_reference_column:参见第17条说明。(19) Enable:该规则是否有效;三、 导入规则类设计class Im

11、portResult private int success;/成功数目private int failed;/失败数目 class Excel private DataImportTableRule tableRule;public Excel(String path)public ImportResult import()class DataImportTableRule private String id;private Date createTime;private String ruleName;private String endRow;private int headerInde

12、x;private int dataIndex;private String tableName;private boolean deleteRepeat;private String exceptColumns;private Set ColumnRules;public void initColumnRules()public void addColumnRule(DataImportColumnRule columnRule)class DataImportColumnRule private String id;private String tableRuleId;private bo

13、olean isUnique;private String columnName;private String headerName;private boolean required;private String dataType;private String maxLength;private String defaultValue;private String comment;private boolean isDictionary;private String dicTableName;private String dicTypeColumn;private String dicTypeValue; private String dicRequiredColumn;private String dicReferenceColumn;四、 界面设计1、 规则配置界面取 消保 存是/否21blank_row新建表规则规则名称 例如:视频编码器规则结束行 blank_row表示遇空行结束,也可输入行索引标题行索引 标题通常在第

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号