CN107368593A - 数据导入方法、装置及服务器 - Google Patents

数据导入方法、装置及服务器 Download PDF

Info

Publication number
CN107368593A
CN107368593A CN201710616411.7A CN201710616411A CN107368593A CN 107368593 A CN107368593 A CN 107368593A CN 201710616411 A CN201710616411 A CN 201710616411A CN 107368593 A CN107368593 A CN 107368593A
Authority
CN
China
Prior art keywords
data
lead
processing
business
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710616411.7A
Other languages
English (en)
Other versions
CN107368593B (zh
Inventor
刘玉龙
邵丹薇
郑隽
郑隽一
储丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wanbang Digital Energy Co Ltd
Wanbang Star Charge Technology Co Ltd
Original Assignee
Wanbang Charging Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wanbang Charging Equipment Co Ltd filed Critical Wanbang Charging Equipment Co Ltd
Priority to CN201710616411.7A priority Critical patent/CN107368593B/zh
Publication of CN107368593A publication Critical patent/CN107368593A/zh
Application granted granted Critical
Publication of CN107368593B publication Critical patent/CN107368593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据导入方法、装置及服务器,涉及数据库技术领域,该方法包括:使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;获取数据的导入方式,导入方式包括:直接导入和处理后导入;当数据的导入方式为直接导入,通过批处理直接将数据导入Mysql数据库中;当数据的导入方式为处理后导入,根据数据对应的业务需要进行数据处理,并将处理后的数据导入Mysql数据库中。本发明实施例提供的数据导入方法、装置及服务器,支持更多excel版本,提高了解析excel文件的效率,减少数据保存到数据库的时间,提高整体处理效率。

Description

数据导入方法、装置及服务器
技术领域
本发明涉及数据库技术领域,尤其是涉及一种数据导入方法、装置及服务器。
背景技术
Jxl是一个开源的Java Excel API项目,可以通过Jxl很方便地操作Excel文档。然而使用Jxl在解析小的excel文件时比较有优势,在解析大文件时效率不高,同时Jxl仅支持比较低版本的excel,比如Excel 95、97、2000、2003。在将excel文件中的数据导入到数据库的过程中,存在数据量比较大的情况,此时逐条数据保存到数据库需要频繁进行数据库连接,加大了数据库的连接开销,并且保存数据的效率也不高。
针对上述解析和存入数据库的处理效率不高的问题,目前尚未提出有效解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种数据导入方法、装置及服务器,可以支持更多excel版本,提高大型excel文件中的数据进行解析并存入数据库中的处理效率。
第一方面,本发明实施例提供了一种数据导入方法,包括:使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;获取数据的导入方式,导入方式包括:直接导入和处理后导入;当数据的导入方式为直接导入,通过批处理直接将数据导入Mysql数据库中;当数据的导入方式为处理后导入,根据数据对应的业务需要进行数据处理,并将处理后的数据导入Mysql数据库中。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,获取数据的导入方式包括:接收用户的业务指示;业务指示包括数据存在业务约束和数据不存在业务约束;业务约束包括唯一性约束或与其他数据之间的业务约束;当不存在业务约束时,确定数据的导入方式为直接导入;当存在业务约束时,确定数据的导入方式为处理后导入。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,通过批处理直接将数据导入Mysql数据库中包括:使用JDBC批处理技术将数据批量保存到Mysql数据库中。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,根据数据对应的业务需要进行数据处理包括:当数据与其他数据之间具有业务约束时,使用JDBC的批量处理将数据保存到临时表中;结合临时表和其他数据的业务表创建存储过程,并进行数据业务处理。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,在进行数据业务处理的步骤之后还包括:通过存储过程将临时表中的数据更新到数据库的正式表中。
结合第一方面或其第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,根据数据对应的业务需要进行数据处理包括:当数据存在唯一性约束时,通过Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在进行数据业务处理的步骤之后还包括:当使用了存储过程进行数据处理时,通过存储过程将处理后的数据导入数据库中;当未使用存储过程进行数据处理时,通过批处理将处理后的数据导入数据库中。
第二方面,本发明实施例还提供一种数据导入装置,包括:解析模块,用于使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;导入方式获取模块,用于获取数据的导入方式,导入方式包括:直接导入和处理后导入;直接导入模块,用于当数据的导入方式为直接导入,通过批处理直接将数据导入Mysql数据库中;处理导入模块,用于当数据的导入方式为处理后导入,根据数据对应的业务需要进行数据处理,并将处理后的数据导入Mysql数据库中。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,导入方式获取模块还用于:接收用户的业务指示;业务指示包括数据存在业务约束和数据不存在业务约束;业务约束包括唯一性约束或与其他数据之间的业务约束;当不存在业务约束时,确定数据的导入方式为直接导入;当存在业务约束时,确定数据的导入方式为处理后导入。
第二方面,本发明实施例还提供一种服务器,服务器包括处理器,存储器,总线和通信接口,处理器、通信接口和存储器通过总线连接;存储器用于存储程序;处理器,用于通过总线调用存储在存储器中的程序,执行上述第一方面及其各可能实施方式的方法。
本发明实施例带来了以下有益效果:本发明实施例提供的数据导入方法、装置及服务器,基于Mysql数据库,结合Apache POI技术和JDBC批处理技术,可以支持更多excel版本,在导入的excel文件比较大的时候,解析excel文件的效率会有一定的提高,JDBC批量处理技术可以大大减少数据保存到数据库的时间,提高整体处理效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据导入方法的流程示意图;
图2为本发明实施例提供的另一种数据导入方法的流程示意图;
图3为本发明实施例提供的另一种数据导入方法的流程示意图;
图4为本发明实施例提供的另一种数据导入方法的流程示意图;
图5为本发明实施例提供的一种数据导入装置的结构示意图;
图6为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Jxl是通过java操作excel表格的工具类库,可以支持Excel 95-2000的所有版本,支持字体、数字、日期操作,能够修饰单元格属性,支持图像和图表。目前Jxl仅支持比较低版本的excel,且解析excel大文件时效率不高;在数据量比较大的情况,逐条数据保存到数据库的效率低,基于此,本发明实施例提供的一种数据导入方法、装置及服务器,可以支持更多excel版本,提高大型excel文件中的数据进行解析并存入数据库中的处理效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据导入方法进行详细介绍。
实施例1
本发明实施例提供了一种数据导入方法,参见图1所示的一种数据导入方法的流程示意图,该实施方式示出的方法流程包括如下步骤:
步骤S11,使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据。
其中,Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。在本实施例中使用Apache POI技术解析excel文件,并将excel文件中的数据导入到Mysql数据库中。上述excel文件既可以是用户上传到服务器中的文件,也可以是服务器中已预先保存的文件。相比较于Jxl,POI解析excel文件的效率更高,尤其是在解析大型excel文件时,使用POI技术可以提高效率,并且可以兼容后缀名xls和xlsx的excel文件,即支持更多excel版本。具体可以使用HSSF解析后缀名为xls的文件,使用XSSF解析后缀名为xlsx的文件。
步骤S12,获取数据的导入方式。
具体地,上述导入方式包括两种:直接导入和处理后导入。直接导入即excel文件中的数据不需要任何处理直接存入数据库,处理后导入即excel文件中的数据本身具有一些业务需要,只有在进行过相应的业务处理后才能将处理后的数据存入。
可以通过用户的指示获取excel文件中的数据的导入方式,具体包括以下步骤:
(1)接收用户的业务指示。可以在导入数据之前提示用户选择该数据是否具有业务约束,并且确定用户选择的是哪种业务约束,即得到了用户的业务指示。其中,业务指示包括数据存在业务约束和数据不存在业务约束;业务约束包括唯一性约束或与其他数据之间的业务约束。
(2)当不存在业务约束时,确定数据的导入方式为直接导入。可以理解的是在无业务约束时,将excel文件中的数据直接导入即可。
(3)当存在业务约束时,确定数据的导入方式为处理后导入。
步骤S13,当上述数据的导入方式为直接导入,通过批处理直接将数据导入Mysql数据库中。
在直接导入时,可以使用JDBC批处理技术将数据批量保存到Mysql数据库中。其中JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。通过JDBC可以与数据库建立连接、发送操作数据库的语句并处理结果。当需要向数据库发送一批SQL语句执行,应避免向数据库一条条地发送执行,而应采用JDBC的批处理机制,以提升执行效率。
步骤S14,当上述数据的导入方式为处理后导入,根据数据对应的业务需要进行数据处理,并将处理后的数据导入Mysql数据库中。
在处理后导入时,根据该数据的业务约束进行相应的处理,得到处理后的数据后再进行导入。
本发明实施例提供的上述数据导入方法,基于Mysql数据库,结合Apache POI技术和JDBC批处理技术,可以支持更多excel版本,在导入的excel文件比较大的时候,解析excel文件的效率会有一定的提高,JDBC批量处理技术可以大大减少数据保存到数据库的时间,提高整体处理效率。
以下对excel文件的数据具有业务约束的情况进行详细说明。在具有业务约束时,需要根据数据对应的业务需要进行数据处理,上述步骤S14具体包括
(1)当数据与其他数据之间具有业务约束时,首先使用JDBC的批量处理将数据保存到临时表中。其次,结合该临时表和其他数据的业务表创建存储过程,并进行数据业务处理。上述业务表为与当前数据具有业务关系的数据组成的。具体地,创建存储过程结合涉及的业务表和保存的临时表进行数据的业务上的处理。
在完成数据的业务处理后,通过存储过程将临时表中的数据更新到数据库的正式表中。
(2)当数据存在唯一性约束时,通过Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理。
此操作会根据表的约束条件判断,违反约束条件则进行更新,反之则进行新增,判断记录是否存在,不存在则插入存在则更新。如果在INSERT语句末尾指定了ON DUPLICATEKEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。
由于上述两种约束条件可以单独存在也可以同时存在,因此在进行唯一性约束处理后,需要判断其之前的步骤中是否使用过存储过程进行处理,具体如下:
当使用了存储过程进行数据处理时,通过存储过程将处理后的数据导入数据库中;
当未使用存储过程进行数据处理时,通过批处理将处理后的数据导入数据库中。
本发明实施例提供的上述数据导入方法,基于Mysql数据库,结合Apache POI技术和JDBC批处理技术,并针对数据与其他数据之间具有业务约束使用存储过程处理数据,针对数据具有唯一性约束使用Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理,可以在数据库中直接进行操作,减少对数据库的连接开销,提高整体处理导入效率。
实施例2
本发明实施例提供了一种数据导入方法,以excel文件中的数据具有与其他数据的业务约束为例,参见图2所示的一种数据导入方法的流程示意图,该实施方式示出的方法流程包括如下步骤:
步骤S21,将包含欲导入的数据的excel文件上传到服务器。
本实施例以需要导入的Mysql数据库在服务器为例进行说明,其也可以保存在其他位置。当Mysql数据库在服务器时,先上传需要导入的excel文件。
步骤S22,使用Apache POI技术,解析该excel文件得到欲导入Mysql数据库的数据。
在解析得到需要导入的数据后,将数据加载到系统的内容中。
步骤S23,根据获取的导入方式判断是否需要根据其他表中的数据进行业务上的处理。如果是,执行步骤S25;如果否,执行步骤S24。
步骤S24,使用jdbc批处理技术将数据批量保存到Mysql数据库中。
步骤S25,使用jdbc的批量处理将数据保存到临时表中。
如果需要查询其他表中的数据进行业务,需要将上述待处理的数据先保存至临时表中,在该临时表中对数据进行处理。
步骤S26,结合临时表和其他数据的业务表创建存储过程,并进行数据业务处理。
步骤S27,通过存储过程将临时表中的数据更新到数据库的正式表中。
由于在上述步骤中使用了存储过程,在进行处理的数据是保存在临时表中的,此时将临时表中的数据更新到正式表中即可。
本发明实施例提供的上述数据导入方法,基于Mysql数据库,结合Apache POI技术和JDBC批处理技术,并针对数据与其他数据之间具有业务约束使用存储过程处理数据,可以在数据库中直接进行操作,减少对数据库的连接开销,提高整体处理导入效率。
实施例3
本发明实施例提供了一种数据导入方法,以excel文件中的数据具有唯一性约束为例,参见图3所示的一种数据导入方法的流程示意图,该实施方式示出的方法流程包括如下步骤:
步骤S31,将包含欲导入的数据的excel文件上传到服务器。
步骤S32,使用Apache POI技术,解析该excel文件得到欲导入Mysql数据库的数据。
步骤S33,根据获取的导入方式判断是否存在唯一性约束。如果是,执行步骤S34;如果否,执行步骤S37。
具体地,需要判断是否需要保证数据的唯一性,避免重复导入。
步骤S34,通过Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理。
步骤S35,判断是否使用了存储过程进行数据处理。如果是,执行步骤S36;如果否,执行步骤S37。
由于可能进行过与其他表数据的业务处理,其过程中会使用存储过程,在本步骤进行判断,如果使用过则通过存储过程导入。
步骤S36,通过存储过程将处理后的数据导入数据库中。
具体地,将临时表中的数据更新到正式表中即可。
步骤S37,使用jdbc批处理技术将数据批量保存到Mysql数据库中。
本发明实施例提供的上述数据导入方法,基于Mysql数据库,结合Apache POI技术和JDBC批处理技术,针对数据具有唯一性约束使用Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理,可以在数据库中直接进行操作,减少对数据库的连接开销,提高整体处理导入效率。
实施例4
本发明实施例提供了一种数据导入方法,参见图4所示的一种数据导入方法的流程示意图,该实施方式示出的方法流程包括如下步骤:
步骤S41,将包含欲导入的数据的excel文件上传到服务器。
步骤S42,使用Apache POI技术,解析该excel文件得到欲导入Mysql数据库的数据。
步骤S43,判断上述数据的导入方式是否为直接导入。如果是,执行步骤S51;如果否,执行步骤S44。
步骤S44,判断是否需要根据其他表中的数据进行业务上的处理。如果是,执行步骤S45;如果否,执行步骤S47。
步骤S45,使用jdbc的批量处理将数据保存到临时表中。
步骤S46,结合临时表和其他数据的业务表创建存储过程,并进行数据业务处理。
步骤S47,判断是否存在唯一性约束。如果是,执行步骤S48;如果否,执行步骤S49。
步骤S48,通过Mysql中的ON DUPLICATE KEY UPDATE语法进行数据处理。
步骤S49,判断是否使用了存储过程进行数据处理。如果是,执行步骤S50;如果否,执行步骤S51。
步骤S50,通过存储过程将处理后的数据导入数据库中。
步骤S51,使用jdbc批处理技术将数据批量保存到Mysql数据库中。
本发明实施例提供的数据导入方法,与上述实施例提供的数据导入方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
实施例5
本发明实施例提供一种数据导入装置,参见图5所示的数据导入装置的结构示意图,该数据导入装置包括解析模块501、导入方式获取模块502、直接导入模块503和处理导入模块504,上述各模块的功能如下:
解析模块501,用于使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;
导入方式获取模块502,用于获取数据的导入方式,导入方式包括:直接导入和处理后导入;
直接导入模块503,用于当数据的导入方式为直接导入,通过批处理直接将数据导入Mysql数据库中;
处理导入模块504,用于当数据的导入方式为处理后导入,根据数据对应的业务需要进行数据处理,并将处理后的数据导入Mysql数据库中。
进一步,上述导入方式获取模块还用于:接收用户的业务指示;业务指示包括数据存在业务约束和数据不存在业务约束;业务约束包括唯一性约束或与其他数据之间的业务约束;当不存在业务约束时,确定数据的导入方式为直接导入;当存在业务约束时,确定数据的导入方式为处理后导入。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例6
本发明实施例提供了一种服务器,包括处理器,存储器,总线和通信接口,处理器、通信接口和存储器通过总线连接;存储器用于存储程序;处理器,用于通过总线调用存储在存储器中的程序,执行上述实施例1的方法。
图6为本发明实施例提供的一种服务器的结构示意图,包括:处理器60,存储器61,总线62和通信接口63,处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,处理器60在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的数据导入方法、装置及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据导入方法,其特征在于,所述方法包括:
使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;
获取所述数据的导入方式,所述导入方式包括:直接导入和处理后导入;
当所述数据的导入方式为所述直接导入,通过批处理直接将所述数据导入所述Mysql数据库中;
当所述数据的导入方式为所述处理后导入,根据所述数据对应的业务需要进行数据处理,并将处理后的数据导入所述Mysql数据库中。
2.根据权利要求1所述的方法,其特征在于,获取所述数据的导入方式包括:
接收用户的业务指示;所述业务指示包括所述数据存在业务约束和所述数据不存在业务约束;所述业务约束包括唯一性约束或与其他数据之间的业务约束;
当不存在业务约束时,确定所述数据的导入方式为所述直接导入;
当存在业务约束时,确定所述数据的导入方式为所述处理后导入。
3.根据权利要求1所述的方法,其特征在于,通过批处理直接将所述数据导入所述Mysql数据库中包括:
使用JDBC批处理技术将所述数据批量保存到所述Mysql数据库中。
4.根据权利要求1所述的方法,其特征在于,根据所述数据对应的业务需要进行数据处理包括:
当所述数据与其他数据之间具有业务约束时,使用JDBC的批量处理将所述数据保存到临时表中;
结合所述临时表和所述其他数据的业务表创建存储过程,并进行数据业务处理。
5.根据权利要求4所述的方法,其特征在于,在进行数据业务处理的步骤之后还包括:
通过所述存储过程将所述临时表中的数据更新到所述数据库的正式表中。
6.根据权利要求1或4所述的方法,其特征在于,根据所述数据对应的业务需要进行数据处理包括:
当所述数据存在唯一性约束时,通过Mysql中的ON DUPLICATE KEYUPDATE语法进行数据处理。
7.根据权利要求6所述的方法,其特征在于,在进行数据业务处理的步骤之后还包括:
当使用了存储过程进行数据处理时,通过所述存储过程将处理后的所述数据导入所述数据库中;
当未使用存储过程进行数据处理时,通过批处理将处理后的所述数据导入所述数据库中。
8.一种数据导入装置,其特征在于,所述装置包括:
解析模块,用于使用Apache POI技术,解析excel文件得到欲导入Mysql数据库的数据;
导入方式获取模块,用于获取所述数据的导入方式,所述导入方式包括:直接导入和处理后导入;
直接导入模块,用于当所述数据的导入方式为所述直接导入,通过批处理直接将所述数据导入所述Mysql数据库中;
处理导入模块,用于当所述数据的导入方式为所述处理后导入,根据所述数据对应的业务需要进行数据处理,并将处理后的数据导入所述Mysql数据库中。
9.根据权利要求8所述的装置,其特征在于,所述导入方式获取模块还用于:
接收用户的业务指示;所述业务指示包括所述数据存在业务约束和所述数据不存在业务约束;所述业务约束包括唯一性约束或与其他数据之间的业务约束;
当不存在业务约束时,确定所述数据的导入方式为所述直接导入;
当存在业务约束时,确定所述数据的导入方式为所述处理后导入。
10.一种服务器,其特征在于,所述服务器包括处理器,存储器,总线和通信接口,所述处理器、通信接口和存储器通过所述总线连接;
所述存储器用于存储程序;
所述处理器,用于通过所述总线调用存储在所述存储器中的程序,执行权利要求1-7任一项所述的方法。
CN201710616411.7A 2017-07-25 2017-07-25 数据导入方法、装置及服务器 Active CN107368593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710616411.7A CN107368593B (zh) 2017-07-25 2017-07-25 数据导入方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710616411.7A CN107368593B (zh) 2017-07-25 2017-07-25 数据导入方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN107368593A true CN107368593A (zh) 2017-11-21
CN107368593B CN107368593B (zh) 2020-09-01

Family

ID=60308186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710616411.7A Active CN107368593B (zh) 2017-07-25 2017-07-25 数据导入方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN107368593B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256087A (zh) * 2018-01-22 2018-07-06 北京腾云天下科技有限公司 一种基于位图结构的数据导入、查询及处理方法
CN108416580A (zh) * 2018-03-09 2018-08-17 万帮充电设备有限公司 对账方法、对账装置及电子设备
CN109783554A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 excel文档解析方法、装置及计算机可读存储介质
CN109783558A (zh) * 2018-12-28 2019-05-21 益萃网络科技(中国)有限公司 Excel数据的导入方法、装置、计算机设备和存储介质
CN110377651A (zh) * 2019-06-20 2019-10-25 平安科技(深圳)有限公司 批量数据的处理方法、装置、设备及存储介质
CN110825722A (zh) * 2019-11-07 2020-02-21 中电福富信息科技有限公司 基于logstash的批量数据导入方法
CN111078768A (zh) * 2019-11-25 2020-04-28 深圳壹账通智能科技有限公司 基于图形数据库的数据导入方法、系统和可读存储介质
CN112801319A (zh) * 2021-02-01 2021-05-14 神州数码融信云技术服务有限公司 一种运维工作流程推进方法
CN113448960A (zh) * 2020-03-27 2021-09-28 北京沃东天骏信息技术有限公司 一种导入表格文件的方法和装置
CN114722109A (zh) * 2022-04-13 2022-07-08 中国电信股份有限公司 数据导入方法、系统、设备及存储介质
CN116757170A (zh) * 2023-08-21 2023-09-15 成都数联云算科技有限公司 一种基于JAVA语言的Excel表格导入方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556586A (zh) * 2008-04-07 2009-10-14 华为技术有限公司 一种自动采集数据的方法、系统和装置
CN101719126A (zh) * 2009-12-07 2010-06-02 中国科学院新疆生态与地理研究所 地质矿产空间数据的快速转换技术方法
CN101866364A (zh) * 2010-06-22 2010-10-20 用友软件股份有限公司 数据导入方法和装置
CN104346377A (zh) * 2013-07-31 2015-02-11 克拉玛依红有软件有限责任公司 一种基于唯一标识的数据集成和交换方法
EP2849091A1 (en) * 2013-09-16 2015-03-18 Siemens Aktiengesellschaft Method and system for merging data into a database table
CN106503222A (zh) * 2016-11-04 2017-03-15 上海轻维软件有限公司 基于Excel的批量导入管理数据库的方法及装置
CN106612330A (zh) * 2017-01-05 2017-05-03 广州慧睿思通信息科技有限公司 支持分布式多文件导入的系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101556586A (zh) * 2008-04-07 2009-10-14 华为技术有限公司 一种自动采集数据的方法、系统和装置
CN101719126A (zh) * 2009-12-07 2010-06-02 中国科学院新疆生态与地理研究所 地质矿产空间数据的快速转换技术方法
CN101866364A (zh) * 2010-06-22 2010-10-20 用友软件股份有限公司 数据导入方法和装置
CN104346377A (zh) * 2013-07-31 2015-02-11 克拉玛依红有软件有限责任公司 一种基于唯一标识的数据集成和交换方法
EP2849091A1 (en) * 2013-09-16 2015-03-18 Siemens Aktiengesellschaft Method and system for merging data into a database table
CN106503222A (zh) * 2016-11-04 2017-03-15 上海轻维软件有限公司 基于Excel的批量导入管理数据库的方法及装置
CN106612330A (zh) * 2017-01-05 2017-05-03 广州慧睿思通信息科技有限公司 支持分布式多文件导入的系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256087A (zh) * 2018-01-22 2018-07-06 北京腾云天下科技有限公司 一种基于位图结构的数据导入、查询及处理方法
CN108416580A (zh) * 2018-03-09 2018-08-17 万帮充电设备有限公司 对账方法、对账装置及电子设备
CN109783554A (zh) * 2018-12-13 2019-05-21 重庆金融资产交易所有限责任公司 excel文档解析方法、装置及计算机可读存储介质
CN109783558A (zh) * 2018-12-28 2019-05-21 益萃网络科技(中国)有限公司 Excel数据的导入方法、装置、计算机设备和存储介质
CN110377651B (zh) * 2019-06-20 2024-02-02 平安科技(深圳)有限公司 批量数据的处理方法、装置、设备及存储介质
CN110377651A (zh) * 2019-06-20 2019-10-25 平安科技(深圳)有限公司 批量数据的处理方法、装置、设备及存储介质
CN110825722A (zh) * 2019-11-07 2020-02-21 中电福富信息科技有限公司 基于logstash的批量数据导入方法
CN111078768A (zh) * 2019-11-25 2020-04-28 深圳壹账通智能科技有限公司 基于图形数据库的数据导入方法、系统和可读存储介质
CN113448960A (zh) * 2020-03-27 2021-09-28 北京沃东天骏信息技术有限公司 一种导入表格文件的方法和装置
CN112801319A (zh) * 2021-02-01 2021-05-14 神州数码融信云技术服务有限公司 一种运维工作流程推进方法
CN114722109A (zh) * 2022-04-13 2022-07-08 中国电信股份有限公司 数据导入方法、系统、设备及存储介质
CN114722109B (zh) * 2022-04-13 2024-02-06 中国电信股份有限公司 数据导入方法、系统、设备及存储介质
CN116757170A (zh) * 2023-08-21 2023-09-15 成都数联云算科技有限公司 一种基于JAVA语言的Excel表格导入方法和系统
CN116757170B (zh) * 2023-08-21 2023-10-20 成都数联云算科技有限公司 一种基于JAVA语言的Excel表格导入方法和系统

Also Published As

Publication number Publication date
CN107368593B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN107368593A (zh) 数据导入方法、装置及服务器
US9659083B2 (en) Automating generation of messages in accordance with a standard
JP6616774B2 (ja) アンチマルウェア型モバイルコンテンツデータ管理装置及び方法
US10366058B2 (en) Performing logical validation on loaded data in a database
CN112052242A (zh) 数据查询方法、装置、电子设备及存储介质
CN108334609B (zh) Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质
CN109376142B (zh) 数据迁移方法及终端设备
US8473504B2 (en) Stabilized binary differencing
CN107977346A (zh) 一种pdf文档编辑方法及终端设备
CN112579621B (zh) 数据展示方法、装置、电子设备及计算机存储介质
CN112420145A (zh) 电子病历文书数据处理方法、装置及计算机可读存储介质
CN110738035A (zh) 一种文档模板生成方法及装置
CN110083379A (zh) 一种服务器部件升级方法及相关装置
CN108073707B (zh) 金融业务数据更新方法、装置及计算机可读取存储介质
CN107291521B (zh) 编译计算机语言的方法和装置
CN113626605B (zh) 信息分类方法、装置、电子设备及可读存储介质
CN113687827B (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
CN113703753B (zh) 用于产品开发的方法、装置和产品开发系统
CN114547060A (zh) 一种政务事项数据交换方法及系统
CN113722321A (zh) 数据导出方法、装置和电子设备
CN110287181A (zh) 数据清理方法、装置、电子设备和介质
WO2024041358A1 (zh) 配置文件更新方法、装置、电子设备及可读存储介质
CN116595963B (zh) 基于模板配置的单据生成方法、装置、设备及介质
CN114089976B (zh) 用于生成数据库操作语句的方法、设备和介质
CN104933148A (zh) 数据筛选的方法、装置及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 213100 No. 39 Longhui Road, Wujin High-tech Zone, Changzhou City, Jiangsu Province

Patentee after: Wanbang star Charging Technology Co.,Ltd.

Address before: 213100 No. 39 Longhui Road, Wujin High-tech Zone, Changzhou City, Jiangsu Province

Patentee before: WANBANG CHARGING EQUIPMENT Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20210402

Address after: Room 139, No.18, Xinya Road, Wujin national high tech Industrial Development Zone, Changzhou City, Jiangsu Province 213000

Patentee after: Wanbang star Charging Technology Co.,Ltd.

Patentee after: Wanbang Digital Energy Co., Ltd

Address before: 213100 No. 39 Longhui Road, Wujin High-tech Zone, Changzhou City, Jiangsu Province

Patentee before: Wanbang star Charging Technology Co.,Ltd.

TR01 Transfer of patent right