CN109062925A - 自动生成insert语句的方法、装置、计算机设备及存储介质 - Google Patents
自动生成insert语句的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109062925A CN109062925A CN201810573799.1A CN201810573799A CN109062925A CN 109062925 A CN109062925 A CN 109062925A CN 201810573799 A CN201810573799 A CN 201810573799A CN 109062925 A CN109062925 A CN 109062925A
- Authority
- CN
- China
- Prior art keywords
- code block
- allocation list
- foundation code
- target
- mark
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种自动生成insert语句的方法、装置、计算机设备及存储介质,方法包括:获取目标需求文档,目标需求文档包括文档类型标识;基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数;基于目标配置表标识,查询基础代码块配置表;若基础代码块配置表中存在与目标配置表标识相匹配的基础配置表标识,则获取基础配置表标识对应的基础代码块;基于基础代码块和配置参数,生成对应的insert语句。本发明的技术方案通过采用自动生成insert语句的方法基于配置参数和基础代码块自动生成insert语句,达到了提高生成insert语句效率的效果,从而有效地提高了基础代码块的复用性。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及一种自动生成insert语句的方法、装置、计算机设备及存储介质。
背景技术
insert语句是结构化查询语言(SQL,Structured Query Language)的一种插入语句,用于向表格中插入新的数据。在计算机领域,很多系统开发会以关系型数据库作为基础,因此操作数据库基本上都是采用SQL技术。如果需要在数据库中插入新增行时,则需要撰写insert语句,以将配置参数插入数据库相应的配置表中。
在保险行业的再保系统中,增加新产品进系统时,需要针对每一个新产品增加多个配置表,这就需要分别写入多条insert语句。数据量大时,需要重复写入insert语句,会导致工作量增加,而且写入insert语句的效率较为低下。
发明内容
基于此,有必要针对上述技术问题,提供一种可以提高生成insert语句效率的自动生成insert语句的方法、装置、计算机设备及存储介质。
一种自动生成insert语句的方法,包括:
获取目标需求文档,所述目标需求文档包括文档类型标识;
基于所述文档类型标识解析所述目标需求文档,得到所述目标需求文档的目标配置表标识和配置参数;
基于所述目标配置表标识,查询基础代码块配置表;
若所述基础代码块配置表中存在与所述目标配置表标识相匹配的基础配置表标识,则获取所述基础配置表标识对应的基础代码块;
基于所述基础代码块和所述配置参数,生成对应的insert语句。
一种自动生成insert语句的装置,包括:
目标需求文档获取模块,用于获取目标需求文档,所述目标需求文档包括文档类型标识;
目标需求文档解析模块,用于基于所述文档类型标识解析所述目标需求文档,得到所述目标需求文档的目标配置表标识和配置参数;
基础代码块查询模块,用于基于所述目标配置表标识,查询基础代码块配置表;
基础代码块获取模块,用于若所述基础代码块配置表中存在与所述目标配置表标识相匹配的基础配置表标识,则获取所述基础配置表标识对应的基础代码块;
insert语句生成模块,用于基于所述基础代码块和所述配置参数,生成对应的insert语句。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述自动生成insert语句的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述自动生成insert语句的方法的步骤。
上述自动生成insert语句的方法、装置、计算机设备及存储介质,通过根据目标需求文档获取目标配置表标识和配置参数,根据目标配置表标识获取对应的基础代码块,再基于配置参数生成对应的insert语句,提升了生成insert语句的效率,提高了基础代码块的复用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中提供的自动生成insert语句的方法的一应用环境示意图;
图2是本发明实施例中提供的自动生成insert语句的方法的一实现流程图;
图3是本发明实施例中提供的自动生成insert语句的方法的另一实现流程图;
图4是本发明实施例中提供的自动生成insert语句的方法的又一实现流程图;
图5是图2中步骤S20的一实现流程图;
图6是本发明实施例中提供的自动生成insert语句的方法的一实现流程图;
图7是本发明实施例中提供的自动生成insert语句的装置的一示意图;
图8是本发明实施例中提供的计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的自动生成insert语句的方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。服务器获取并解析目标需求文档,根据目标需求文档的目标配置表标识调用对应的基础代码块,以生成对应的insert语句。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2示出本实施例中自动生成insert语句的方法的实现流程图。该自动生成insert语句的方法应用在服务器中,用于自动生成insert语句,以提高insert语句生成的效率。
如图2所示,该自动生成insert语句的方法包括如下步骤:
S10:获取目标需求文档,目标需求文档包括文档类型标识。
其中,需求文档是指根据业务需求,按照固定的格式填写业务需求信息而形成的文档。目标需求文档是指服务器获取到的需求文档。文档类型标识是用于标明目标需求文档的类型的标识。可选地,文档类型可以为Word、Excel、PPT或Xml等。文档类型标识可以是目标需求文档文件名的后缀字符,例如,Word文档的文件名后缀.doc,Excel文档的文件名后缀.xls,即可以通过识别目标需求文档文件名的后缀字符,来识别目标需求文档对应的文档类型。
具体地,服务器基于客户端的触发操作,获取目标需求文档。该触发操作可以是用户在客户端输入的执行指令,例如用户在客户端输入目标需求文档的选择指令或者输入的保单号,客户端将该选择指令或者保单号发送到服务器。服务器在获取到选择指令或者保单号之后,获取对应的目标需求文档。
可选地,触发操作还可以为服务器检测到客户端发送有新的需求文档到服务器时,则自动触发获取目标需求文档的操作,获取该新的需求文档作为目标需求文档。
S20:基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数。
其中,目标配置表是用于将目标需求文档中的配置参数配置成固定格式的配置表以存储在服务器中,每一目标配置表均对应于唯一一个目标配置表标识。目标配置表标识是指将目标需求文档增加到服务器中时所需要增加的目标配置表的标识。配置参数是指从目标需求文档中提取的需要配置进对应目标配置表的数据。
具体地,根据文档类型标识确定目标需求文档的类型,基于目标需求文档的类型,采用POI算法中对应的方法函数解析目标需求文档,读取目标需求文档的目标配置表标识和配置参数。
其中,POI算法是创建和维护操作各种符合Office Open XML标准和微软的OLE 2复合文档格式的Java API。POI算法可以支持使用Java读取和创建多种类型的文档。例如,POI算法中,HSSF提供读写Microsoft Excel XLS格式文档的功能;XSSF提供读写MicrosoftExcel OOXML、XLSX格式文档的功能;HWPF提供读写Microsoft Word DOC格式文档的功能;HSLF提供读写Microsoft PowerPoint格式文档的功能;HDGF提供读Microsoft Visio格式文档的功能;HPBF提供读Microsoft Publisher格式文档的功能;HSMF提供读MicrosoftOutlook格式文档的功能。因此,可以根据文档类型标识来选择POI算法中对应的方法函数解析目标需求文档,以获取目标需求文档的目标配置表标识和配置参数。
S30:基于目标配置表标识,查询基础代码块配置表。
其中,基础代码块配置表是用于体现配置表和基础代码块之间对应关系的表格。
具体地,通过解析目标需求文档,得到目标需求文档的目标配置表标识。基于目标配置表标识,查询基础代码块配置表,可以通过查询基础代码块配置表中是否存在与目标配置表标识相匹配的基础配置表标识。
S40:若基础代码块配置表中存在与目标配置表标识相匹配的基础配置表标识,则获取基础配置表标识对应的基础代码块。
其中,目标配置表标识是指将目标需求文档增加到服务器中时所需要增加的目标配置表的标识。基础代码块是用于实现将配置参数配置到对应的目标配置表中的代码块,基础代码块是通过获取每条插入基础配置表的insert语句,将插入该基础配置表的insert语句中的参数定义为参数变量,将每一基础配置表插入的insert语句进行组合封装得到的一段代码。每一基础配置表对应封装一个基础代码块。调用基础代码块,将配置参数赋值给insert语句的参数变量,即生成该基础配置表的insert语句。
优选地,每一基础配置表标识对应一基础代码块,基础配置表标识与基础代码块相关联。
具体地,与目标配置表标识相匹配的基础配置表标识可以是与目标配置表标识相同的基础配置表标识,查找到基础代码块配置表中存在与目标配置表标识相同的基础配置表标识,则获取基础代码块配置表中该基础配置表标识对应的基础代码块。通过基础配置表标识链接至基础代码块的存储位置,即可获取基础代码块。
S50:基于基础代码块和配置参数,生成对应的insert语句。
具体地,服务器调用基础代码块,将从目标需求文档中读取出来的配置参数作为传参,赋值给基础代码块中相应的参数变量,生成对应的insert语句。可选地,对每一配置参数生成一条insert语句。
进一步地,在生成对应的insert语句之后,可以将生成的insert语句组装,插入该基础代码块对应的基础配置表中,即可将目标需求文档中的配置参数写入基础配置表中,以实现自动地将目标需求文档中的配置参数配置给目标配置表,快速地处理目标需求文档,提高了处理效率。
本实施例中,在获取目标需求文档之后,根据文档类型标识调用不同的方法函数解析目标需求文档,使得获取目标配置表标识和配置参数更加便捷;再基于目标需求文档的目标配置表标识查询基础代码块配置表,获取基础代码块以生成对应的insert语句,使得服务器可以根据目标需求文档的内容自动生成insert语句。本实施例将基础配置表的insert语句作为模板进行封装,使得生成相同配置表时,可以直接调用该基础配置表对应的基础代码块,不用重新编写该insert语句,减少了工作量,也增加了基础代码块的复用性,提高了insert语句生成的效率。
在一实施例中,如图3所示,步骤S30之前,即基于目标配置表标识,查询基础代码块配置表的步骤之前,该自动生成insert语句的方法还包括如下步骤:
S301:获取已有配置表,统计每一已有配置表的使用频率。
其中,配置表是指将业务的目标需求文档中的相关信息配置到服务器的表格。已有配置表是指基于已处理过的需求文档创建的已储存在服务器中的配置表。
具体地,获取已有配置表,对已有配置表进行统计,得到每一已有配置表的使用频率,以便判断是否需要对已有配置表建立对应的基础代码块。
S302:将使用频率大于频率阈值的已有配置表作为基础配置表,其中,基础配置表包括基础配置表标识。
其中,频率阈值是用户预先设定的一个阈值,使用频率大于该频率阈值的已有配置表则为经常使用的配置表,即为基础配置表。可以理解地,基础配置表是指在实际使用中使用频率达到频率阈值的已有配置表。
具体地,筛选出使用频率大于频率阈值的已有配置表为基础配置表,以便对使用频率高的基础配置表建立基础代码块。其中,基础配置表包括基础配置表标识,基础配置表标识是区分不同基础配置表的唯一标识,可选地,基础配置表标识可以由字母或数字中的至少一项组成。
进一步地,频率阈值可以根据用户需求进行设定。例如,在保险金融行业的已有配置表中,设定所有产品中都必须使用的已有配置表为基础配置表,则频率阈值为100%。在100个产品中设定只要有超过80个产品中使用的已有配置表就为基础配置表,则频率阈值为80%。频率阈值的设定与统计已有配置表的总数和使用频率有关。
S303:基于基础配置表,建立对应的基础代码块。
具体地,服务器获取每条插入基础配置表的insert语句,将插入该基础配置表的insert语句中的参数定义为参数变量,将insert语句进行组合封装,建立对应的基础代码块。
S304:将基础代码块和对应的基础配置表标识进行关联,存储至基础代码块配置表。
其中,将基础代码块与对应的基础配置表标识相关联,可以通过采用基础配置表标识来命名基础代码块,建立基础代码块与基础配置表标识的关联关系,存储至基础代码块配置表。从而通过查询基础代码块的名称与基础配置表标识相匹配的基础代码块进行调用。
具体地,通过将基础配置表标识设置为基础代码块唯一的名称,基础配置表根据其基础配置表标识与基础代码块相关联,使基础代码块通过基础配置表标识唯一对应一基础配置表。
例如,将Table1、Table2和Table3三个基础配置表建立基础代码块,则可以通过将三个基础配置表的表名设置为基础代码块标识Table1、Table2和Table3,然后使用基础代码块标识为基础代码块命名,如对应的基础代码块命名为InsertTable1、InsertTable2和InsertTable3。调用基础代码块时,根据基础配置表标识关联到相应的基础代码块,使基础配置表与基础代码块相关联。
在本实施例中,通过对已有配置表进行统计和分析,获取到使用频率高于频率阈值的已有配置表作为基础配置表,并基于基础配置表建立基础代码块,准确的过滤出使用频率高的已有配置表,从而对使用频率高的基础配置表建立基础代码块,而不必对使用频率低的已有配置表也建立基础代码块,既可以满足用户的实际需求,使基础代码块能够适应基础配置表的使用频率需求,也减少开发的工作量。
在一实施例中,如图4所示,步骤S303中,即基于基础配置表,建立对应的基础代码块,具体包括如下步骤:
S3031:获取基础配置表的源insert语句,源insert语句中包括参数常量。
其中,源insert语句是指由开发人员编写的,将配置参数插入至基础配置表的原始insert语句,可以为开发人员根据基础配置表进行编写的原始insert语句,也可以是直接获取以前编写过的该基础配置表的insert语句。
具体地,参数常量是指源insert语句中实际插入到基础配置表中的数据内容。获取基础配置表每一行内容所对应的源insert语句,源insert语句中包括insert语句中配置的参数常量。
S3032:将源insert语句中的参数常量定义为与配置参数相匹配的参数变量。
具体地,将源insert语句中的参数常量替换为参数变量,便于后续将目标需求文档的配置参数赋值给该参数变量。例如:一条源insert语句为“insert INTO Table 1(列1)values("+1207+")”,则将其中的“Table 1”替换为参数变量“table_name”,将“列1”设定为对应的数据库列名,将values("+1207+")替换为“values("+value+")”,再将配置参数赋值给参数变量“value="value+"”。
S3033:配置基础代码块的基础属性,基础属性包括基础代码块名称、适用平台、支持编程语言和调用条件。
其中,基础配置表源insert语句的基础属性包括基础代码块名称、使用平台、支持编程语言以及调用条件等确定基础代码块性质的属性。
进一步地,可以用title来设置基础代码块名称,便于识别,在本实施例中,可以使用基础代码块标识命名基础代码块名称。可以用platform来设置基础代码块的使用平台,便于确定基础代码块的使用环境。基础代码块的使用平台可以是Windows、Linux或者Unix。可以用Language来设置基础代码块支持的编程语言,确定基础代码块的适用语言。基础代码块的适用语言可以为Java、C、C++或者Python等。可以用completion来设置基础代码块的调用条件,确定基础代码块的调用触发条件。基础代码块的调用触发条件可以为客户端输入的触发指令,也可以是服务器检测到客户端发送有新的需求文档到服务器,则自动触发获取目标需求文档的操作。
S3034:基于基础配置表标识,将配置完成的源insert语句进行封装,存储至基础代码块配置表。
具体地,将配置完成的源代码进行封装,生成基础代码块。通过将基础配置表标识设置为基础代码块唯一的名称,基础配置表根据其基础配置表标识与基础代码块相关联,存储至基础代码块配置表中。
进一步地,在程序开发中,可以借用编译器相应的插件工具获取基础配置表的源insert语句。例如,xcode中预先存储有许多定义好的代码模板,在xcode中,可以通过定义代码块的方式将常用的一部分代码进行快捷调用,在使用这些代码模板时,只需要将其代码模板拖入用户的程序代码中,或者直接由快捷键调用即可,十分的方便,便于复用。
在本实施例中,通过将基础配置表的insert语句的源代码封装成基础代码块,可以非常方便地调用基础代码块,自动生成insert语句,减少了开发工作量;通过设置参数变量,将目标需求文档的配置参数作为传参赋值给参数变量,实现将目标需求文档的配置参数配置给基础配置表;通过将基础配置表标识与基础代码块相关联,便于调用时查找对应的基础代码块。
在一实施例中,如图5所示,步骤S20中,即基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数,具体包括如下步骤:
S201:若文档类型标识对应为Excel文档,则读取Excel文档表名,获取Excel文档表名对应的目标配置表标识。
其中,文档类型标识是用于标明目标需求文档类型的标识,文档类型可以为Word、Excel、PPT、Visio等文档类型。具体地,文档类型标识可以是目标需求文档文件名的后缀字符,例如,Word文档的文件名后缀.doc,Excel文档的文件名后缀.xls,即可以通过识别目标需求文档文件名的后缀字符,来识别目标需求文档对应的文档类型。
在另一实施例中,由于各种类型的文档都有固定的二进制文件头,可以通过识别并判断目标需求文档的文件头来判断目标需求文档的文档类型,例如Excel文档的文件头为:D0CF11E0,通过识别目标需求文档的文件头即可识别目标需求文档对应的文档类型。
具体地,若通过读取并判断目标需求文档的文件名后缀或者文件头,识别目标需求文档的文档类型标识对应为Excel文档,则读取Excel文档表名,获取该Excel文档表名对应的目标配置表标识,即通过文档表名,确定该目标需求文档对应的基础配置表。
进一步地,目标需求文档对应的文档表名是固定的,业务人员根据业务交易的需求,选择相应的表单,按照表单的格式填入相应的数据信息作为目标需求文档进行存储。可以预先存储各目标需求文档的文档表名对应的基础配置表,通过查询目标需求文档的文档表名,即可获取目标需求文档对应的基础配置表。
S202:采用POI算法,逐行遍历Excel文档。
其中,POI算法是JAVA中一种解析文档的工具,POI很好的提供了解析多种类型文档的技术,以Excel为例,POI算法可以解析到Excel里的每一单元格的数据。
具体地,服务器基于Excel文档的文档标识,调用POI算法的HSSF方法函数,利用HSSF方法函数,逐行遍历Excel文档的字段。其中,HSSF方法函数提供读写Microsoft ExcelXLS格式文档的功能。
S203:基于字段标识,读取Excel文档中每一行对应的字段值,作为配置参数。
其中,字段标识是指Excel文档中需要被读取的字段的标识,Excel文档中字段标识对应的字段是指该字段的内容需要配置至基础配置表,用以区别目标需求文档中不需要读取配置进基础配置表的内容。字段标识可以是Excel文档中预定的固定行或者固定列的标识,也可以是Excel文档中固定的表头字段。配置参数存储在字段标识对应的固定行或者固定列中。读取配置参数时,根据字段标识遍历Excel文档,以读取出相应的字段值,作为配置参数。
具体地,根据字段标识,区分目标需求文档中需要读取的字段和不需要读取的字段,循环遍历Excel文档中需要读取的字段中每一行对应的字段值,将读取的字段值作为配置参数。
进一步地,Excel文档的单元格中可能存储不同类型的数据作为配置参数,例如单元格中的字段值可能为文本数据,数字数据、日期数据、布尔型数据以及单元格中可能包含有公式。可以通过判断字段值的类型,根据字段值的类型调用相应的程序获取配置参数。在遍历需要读取的字段时,识别单元格中字段值的类型,根据单元格中字段值的类型调用相应的程序,获取对应单元格的配置参数。
在本实施例中,通过读取Excel文档表名,获取目标配置表标识,可以非常方便地获取目标需求文档对应的基础配置表,通过POI算法读取目标需求文档中的配置参数,能够精确的获取目标需求文档中需要配置进配置表的配置参数,便于将配置参数作为传参赋值给insert语句的参数变量,实现insert语句生成自动化。
在一实施例中,如图6所示,步骤S30之后,即基于目标配置表标识,查询基础代码块配置表,该自动生成insert语句的方法还包括如下步骤:
S311:若基础代码块配置表中不存在与目标配置表标识相匹配的基础配置表标识,则发送提示信息。
具体地,基于目标配置表标识查询基础代码块配置表,若存在任一目标配置表标识,在基础代码块配置表中查找不到与之相匹配的基础配置表标识,那么基础代码块配置表中并未存储有该目标配置表标识对应的基础代码块,则服务器发送提示信息至终端界面,以提示用户补充该目标配置表标识对应的基础代码块。
S312:获取用户输入的新增代码块,基于新增代码块和配置参数,生成对应的insert语句。
具体地,用户基于补充基础代码块的提示信息,对基础代码块配置表中没有的基础代码块进行补充,服务器则获取用户输入的新增代码块,将配置参数作为传参配置给新增代码块,生成对应的insert语句。
在本实施例中,通过对用户在基础代码块配置表中查询不到的基础代码块生成提示信息,以提示用户及时进行补充,可以实时提醒用户补充查询不到的基础代码块,使得基础代码块配置表更为全面和完善;将配置参数配置给新增代码块,生成对应的insert语句,实现实时更新和查询基础代码块配置表,可以实时调用新增的基础代码块,提高了服务器的执行效率。
在一实施例中,步骤S312之后,该自动生成insert语句的方法还包括如下步骤:将新增代码块和对应的目标配置表标识进行关联,存储至基础代码块配置表。
具体地,基于目标配置表在基础代码块配置表中查询不到,而经过提示进行补充的新增代码块,以目标配置表标识来命名新增代码块,将目标配置表标识设置为新增代码块唯一的名称,建立新增代码块与目标配置表标识的关联关系,并将新增代码块作为基础代码块存储至基础代码块配置表。便于再次基于同一目标配置表标识查询基础代码块配置表时,可以直接调用新增代码块作为基础代码块,便于后续重复使用。
在本实施例中,通过将新增代码块与目标配置表标识相关联,并存储至基础代码块配置表作为一基础代码块,以供后续调用,便于根据实际需求,及时补充基础代码块配置表,使得基础代码块配置表更完善,增加新增代码块的复用性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种自动生成insert语句的装置,该自动生成insert语句的装置与上述实施例中自动生成insert语句的方法一一对应。如图7所示,该自动生成insert语句的装置包括目标需求文档获取模块10、目标需求文档解析模块20、基础代码块查询模块30、基础代码块获取模块40和insert语句生成模块50。各功能模块详细说明如下:
目标需求文档获取模块10,用于获取目标需求文档,目标需求文档包括文档类型标识。
目标需求文档解析模块20,用于基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数。
基础代码块查询模块30,用于基于目标配置表标识,查询基础代码块配置表。
基础代码块获取模块40,用于若基础代码块配置表中存在与目标配置表标识相匹配的基础配置表标识,则获取基础配置表标识对应的基础代码块。
insert语句生成模块50,用于基于基础代码块和配置参数,生成对应的insert语句。
优选地,该自动生成insert语句的装置还包括:已有配置表统计模块301、基础配置表获取模块302、基础代码块建立模块303和基础代码块关联模块304。
已有配置表统计模块301,用于获取已有配置表,统计每一已有配置表的使用频率。
基础配置表获取模块302,用于将使用频率大于频率阈值的已有配置表作为基础配置表,其中,基础配置表包括基础配置表标识。
基础代码块建立模块303,用于基于基础配置表,建立对应的基础代码块。
基础代码块关联模块304,用于将基础代码块和对应的基础配置表标识进行关联,存储至基础代码块配置表。
优选地,基础代码块建立模块303包括:源insert语句获取单元3031、参数变量定义单元3032、基础属性配置单元3033和封装单元3034。
源insert语句获取单元3031,用于获取基础配置表的源insert语句,源insert语句中包括参数常量。
参数变量定义单元3032,用于将源insert语句中的参数常量定义为与配置参数相匹配的参数变量。
基础属性配置单元3033,用于配置基础代码块的基础属性,基础属性包括基础代码块名称、适用平台、支持编程语言和调用条件。
封装单元3034,用于基于基础配置表标识,将配置完成的源insert语句进行封装,存储至基础代码块配置表。
优选地,目标需求文档解析模块20包括:目标配置表标识获取单元201、需求文档遍历单元202和配置参数读取单元203。
目标配置表标识获取单元201,用于若文档类型标识对应为Excel文档,则读取Excel文档表名,获取Excel文档表名对应的目标配置表标识。
需求文档遍历单元202,用于采用POI算法,逐行遍历Excel文档。
配置参数读取单元203,用于基于字段标识,读取Excel文档中每一行对应的字段值,作为配置参数。
优选地,该自动生成insert语句的装置还包括:查找失误提示模块311和新增代码块处理模块312。
查找失误提示模块311,用于若基础代码块配置表中不存在与目标配置表标识相匹配的基础配置表标识,则发送提示信息。
新增代码块处理模块312,用于获取用户输入的新增代码块,基于新增代码块和配置参数,生成对应的insert语句。
优选地,该自动生成insert语句的装置还包括:新增代码块存储模块313。
新增代码块存储模块313,用于将新增代码块和对应的目标配置表标识进行关联,存储至基础代码块配置表。
关于自动生成insert语句的装置的具体限定可以参见上文中对于自动生成insert语句的方法的限定,在此不再赘述。上述自动生成insert语句的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动生成insert语句的方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取目标需求文档,目标需求文档包括文档类型标识;
基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数;
基于目标配置表标识,查询基础代码块配置表;
若基础代码块配置表中存在与目标配置表标识相匹配的基础配置表标识,则获取基础配置表标识对应的基础代码块;
基于基础代码块和配置参数,生成对应的insert语句。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标需求文档,目标需求文档包括文档类型标识;
基于文档类型标识解析目标需求文档,得到目标需求文档的目标配置表标识和配置参数;
基于目标配置表标识,查询基础代码块配置表;
若基础代码块配置表中存在与目标配置表标识相匹配的基础配置表标识,则获取基础配置表标识对应的基础代码块;
基于基础代码块和配置参数,生成对应的insert语句。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种自动生成insert语句的方法,其特征在于,包括:
获取目标需求文档,所述目标需求文档包括文档类型标识;
基于所述文档类型标识解析所述目标需求文档,得到所述目标需求文档的目标配置表标识和配置参数;
基于所述目标配置表标识,查询基础代码块配置表;
若所述基础代码块配置表中存在与所述目标配置表标识相匹配的基础配置表标识,则获取所述基础配置表标识对应的基础代码块;
基于所述基础代码块和所述配置参数,生成对应的insert语句。
2.如权利要求1所述的自动生成insert语句的方法,其特征在于,在所述基于所述配置表标识,查询基础代码块配置表的步骤之前,所述自动生成insert语句的方法还包括:
获取已有配置表,统计每一所述已有配置表的使用频率;
将使用频率大于频率阈值的所述已有配置表作为基础配置表,其中,所述基础配置表包括所述基础配置表标识;
基于所述基础配置表,建立对应的所述基础代码块;
将所述基础代码块和对应的所述基础配置表标识进行关联,存储至所述基础代码块配置表。
3.如权利要求2所述的自动生成insert语句的方法,其特征在于,所述基于所述基础配置表,建立对应的所述基础代码块,包括:
获取所述基础配置表的源insert语句,所述源insert语句中包括参数常量;
将所述源insert语句中的参数常量定义为与配置参数相匹配的参数变量;
配置所述基础代码块的基础属性,所述基础属性包括基础代码块名称、适用平台、支持编程语言和调用条件;
基于所述基础配置表标识,将配置完成的所述源insert语句进行封装,存储至所述基础代码块配置表。
4.如权利要求1所述的自动生成insert语句的方法,其特征在于,所述基于所述文档类型标识解析所述目标需求文档,得到所述目标需求文档的目标配置表标识和配置参数,包括:
若所述文档类型标识对应为Excel文档,则读取所述Excel文档表名,获取所述Excel文档表名对应的所述目标配置表标识;
采用POI算法,逐行遍历所述Excel文档;
基于字段标识,读取所述Excel文档中每一行对应的字段值,作为所述配置参数。
5.如权利要求1所述的自动生成insert语句的方法,其特征在于,所述基于所述目标配置表标识,查询基础代码块配置表,还包括:
若所述基础代码块配置表中不存在与所述目标配置表标识相匹配的基础配置表标识,则发送提示信息;
获取用户输入的新增代码块,基于所述新增代码块和所述配置参数,生成对应的insert语句。
6.如权利要求5所述的自动生成insert语句的方法,其特征在于,在所述获取用户输入的新增代码块,基于所述新增代码块和所述配置参数,生成对应的insert语句的步骤之后,所述自动生成insert语句的方法还包括:
将所述新增代码块和对应的所述目标配置表标识进行关联,存储至所述基础代码块配置表。
7.一种自动生成insert语句的装置,其特征在于,包括:
目标需求文档获取模块,用于获取目标需求文档,所述目标需求文档包括文档类型标识;
目标需求文档解析模块,用于基于所述文档类型标识解析所述目标需求文档,得到所述目标需求文档的目标配置表标识和配置参数;
基础代码块查询模块,用于基于所述目标配置表标识,查询基础代码块配置表;
基础代码块获取模块,用于若所述基础代码块配置表中存在与所述目标配置表标识相匹配的基础配置表标识,则获取所述基础配置表标识对应的基础代码块;
insert语句生成模块,用于基于所述基础代码块和所述配置参数,生成对应的insert语句。
8.如权利要求7所述的自动生成insert语句的装置,其特征在于,还包括:
已有配置表统计模块,用于获取已有配置表,统计每一所述已有配置表的使用频率;
基础配置表获取模块,用于将使用频率大于频率阈值的所述已有配置表作为基础配置表,其中,所述基础配置表包括所述基础配置表标识;
基础代码块建立模块,用于基于所述基础配置表,建立对应的所述基础代码块;
基础代码块关联模块,用于将所述基础代码块和对应的所述基础配置表标识进行关联,存储至所述基础代码块配置表。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述自动生成insert语句的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述自动生成insert语句的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810573799.1A CN109062925B (zh) | 2018-06-06 | 2018-06-06 | 自动生成insert语句的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810573799.1A CN109062925B (zh) | 2018-06-06 | 2018-06-06 | 自动生成insert语句的方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062925A true CN109062925A (zh) | 2018-12-21 |
CN109062925B CN109062925B (zh) | 2023-08-22 |
Family
ID=64820480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810573799.1A Active CN109062925B (zh) | 2018-06-06 | 2018-06-06 | 自动生成insert语句的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062925B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947832A (zh) * | 2019-01-29 | 2019-06-28 | 平安科技(深圳)有限公司 | 将excel数据表生成sql文件的方法、装置、终端及存储介质 |
CN111142871A (zh) * | 2019-12-24 | 2020-05-12 | 杭州安恒信息技术股份有限公司 | 一种前端页面开发系统、方法、设备、介质 |
WO2020155771A1 (zh) * | 2019-01-28 | 2020-08-06 | 平安科技(深圳)有限公司 | 电子表格数据处理方法、装置、计算机设备和存储介质 |
CN112507675A (zh) * | 2020-11-05 | 2021-03-16 | 社宝信息科技(上海)有限公司 | 智能薪资计算及实时发薪的系统及方法 |
CN112988778A (zh) * | 2019-12-13 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种处理数据库查询脚本的方法和装置 |
CN113448980A (zh) * | 2021-06-18 | 2021-09-28 | 青岛海尔科技有限公司 | 用于生成sql语句的方法及装置、电子设备 |
CN115373725A (zh) * | 2022-10-24 | 2022-11-22 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040135805A1 (en) * | 2003-01-10 | 2004-07-15 | Gottsacker Neal F. | Document composition system and method |
US20050010595A1 (en) * | 2003-07-11 | 2005-01-13 | International Business Machines Corporation | System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database |
CN101046812A (zh) * | 2006-06-12 | 2007-10-03 | 华为技术有限公司 | 一种数据库表记录构造与检查的方法及其装置 |
CN104965714A (zh) * | 2015-07-27 | 2015-10-07 | 广州杰赛科技股份有限公司 | 应用软件的代码生成方法和系统 |
CN105117431A (zh) * | 2015-08-07 | 2015-12-02 | 北京思特奇信息技术股份有限公司 | 一种动态配置外部导入数据的方法及系统 |
CN106095792A (zh) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | 生成数据库操作代码的方法和装置 |
CN106776507A (zh) * | 2015-11-19 | 2017-05-31 | 北京国双科技有限公司 | Word文件生成方法和装置 |
-
2018
- 2018-06-06 CN CN201810573799.1A patent/CN109062925B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040135805A1 (en) * | 2003-01-10 | 2004-07-15 | Gottsacker Neal F. | Document composition system and method |
US20050010595A1 (en) * | 2003-07-11 | 2005-01-13 | International Business Machines Corporation | System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database |
CN101046812A (zh) * | 2006-06-12 | 2007-10-03 | 华为技术有限公司 | 一种数据库表记录构造与检查的方法及其装置 |
CN104965714A (zh) * | 2015-07-27 | 2015-10-07 | 广州杰赛科技股份有限公司 | 应用软件的代码生成方法和系统 |
CN105117431A (zh) * | 2015-08-07 | 2015-12-02 | 北京思特奇信息技术股份有限公司 | 一种动态配置外部导入数据的方法及系统 |
CN106776507A (zh) * | 2015-11-19 | 2017-05-31 | 北京国双科技有限公司 | Word文件生成方法和装置 |
CN106095792A (zh) * | 2016-05-27 | 2016-11-09 | 中国银联股份有限公司 | 生成数据库操作代码的方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155771A1 (zh) * | 2019-01-28 | 2020-08-06 | 平安科技(深圳)有限公司 | 电子表格数据处理方法、装置、计算机设备和存储介质 |
CN109947832A (zh) * | 2019-01-29 | 2019-06-28 | 平安科技(深圳)有限公司 | 将excel数据表生成sql文件的方法、装置、终端及存储介质 |
CN112988778A (zh) * | 2019-12-13 | 2021-06-18 | 北京沃东天骏信息技术有限公司 | 一种处理数据库查询脚本的方法和装置 |
CN111142871A (zh) * | 2019-12-24 | 2020-05-12 | 杭州安恒信息技术股份有限公司 | 一种前端页面开发系统、方法、设备、介质 |
CN111142871B (zh) * | 2019-12-24 | 2023-06-06 | 杭州安恒信息技术股份有限公司 | 一种前端页面开发系统、方法、设备、介质 |
CN112507675A (zh) * | 2020-11-05 | 2021-03-16 | 社宝信息科技(上海)有限公司 | 智能薪资计算及实时发薪的系统及方法 |
CN113448980A (zh) * | 2021-06-18 | 2021-09-28 | 青岛海尔科技有限公司 | 用于生成sql语句的方法及装置、电子设备 |
CN115373725A (zh) * | 2022-10-24 | 2022-11-22 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
CN115373725B (zh) * | 2022-10-24 | 2023-02-03 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109062925B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062925A (zh) | 自动生成insert语句的方法、装置、计算机设备及存储介质 | |
CN109558440A (zh) | 数据批量处理方法、装置、计算机设备及存储介质 | |
CN109087054B (zh) | 协同办公数据流处理方法、装置、计算机设备及存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN109582303B (zh) | 通用组件调用方法、装置、计算机设备及存储介质 | |
CN109460527B (zh) | 产品数据配置方法、装置、计算机设备和存储介质 | |
CN108573371B (zh) | 数据审批方法、装置、计算机设备和存储介质 | |
CN110782240B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN110990400A (zh) | 数据库查询方法、装置、计算机设备和存储介质 | |
CN111027295B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110751550B (zh) | 对账方法、装置、计算机设备和存储介质 | |
CN105302710A (zh) | 一种确定需要回归测试的测试用例的方法和装置 | |
CN110765001B (zh) | 针对应用系统的模块化自动测试方法和装置 | |
CN110347545A (zh) | 一种业务平台缓存策略的测试方法及装置 | |
WO2020192141A1 (zh) | 接口模拟方法、装置、计算机设备和存储介质 | |
CN110471694A (zh) | 注释信息处理方法、装置、计算机设备及存储介质 | |
CN109361628A (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN111190901B (zh) | 业务数据存储方法、装置、计算机设备和存储介质 | |
CN109189385A (zh) | 算法配置方法、装置、计算机设备及存储介质 | |
CN110309123A (zh) | 数据库操作的处理方法、装置、计算机设备及存储介质 | |
CN112507729A (zh) | 页面中文本翻译方法、装置、计算机设备和存储介质 | |
CN110795140A (zh) | 一种配置文件生成方法及装置 | |
CN110413507A (zh) | 系统测试方法、装置、计算机设备和存储介质 | |
CN110275703B (zh) | 键值对数据的赋值方法、装置、计算机设备和存储介质 | |
CN115599359A (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 |