一种自动生成SQL语句的方法和装置制造方法及图纸

技术编号:19511553 阅读:19 留言:0更新日期:2018-11-21 07:56
本发明专利技术属于软件开发技术领域,公开了一种自动生成SQL语句的方法及装置,所述方法中先根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系和表征生成标准格式的SQL语句的必要参数;然后调用预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。因此,本发明专利技术实施例中只需要调用预设编程接口就可以自动依据预设生成规则将特定标注生成标准格式的SQL语句,无需开发人员手动编写标准格式的SQL语句,减小编码量,提高了工作效率。

【技术实现步骤摘要】
一种自动生成SQL语句的方法和装置
本专利技术涉及软件开发
,尤其涉及一种自动生成SQL语句的方法和装置。
技术介绍
现有的数据库应用开发中,通常采用MVC架构进行开发。其中,MVC是模型(model)、视图(view)、控制器(controller)这三个单词上的首字母组成。它是一种目前广泛流行的应用架构,它的目的是实现编程系统的职能分工。参见图1,图1是MVC架构关系示意图。用户通过输入指令和参数与控制器交互,控制器将用户输入的指令和参数传递给数据模型,数据模型执行业务逻辑判断、数据库存取,根据业务逻辑选择不同的视图,视图将结果反馈给用户。现有技术中,在编写模型后,数据库存取的实现需要根据用户需求编写SQL(StructuredQueryLanguage)语句,之后需要调用数据库开发接口执行SQL语句,最终将SQL语句的执行结果绑定到模型上,使得模型实现数据库存储的相关功能。但是,此种方式需要开发人员手动编写标准格式的SQL语句,且需要运行后将结果绑定到数据模型上,步骤繁琐且开发效率较低。
技术实现思路
有鉴于此,本专利技术实施例公开了一种自动生成SQL语句的方法及装置,以实现无需绑定模型且无需人工编写SQL语句,减少操作步骤,降低开发人员代码输入量,从而提高数据库开发效率。为了实现上述目的,本专利技术实施例公开的内容如下:本专利技术实施例公开了一种自动生成SQL语句的方法,包括:根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系和表征生成标准格式的SQL语句的必要参数;调用所述预设编程接口指令中所对应的预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。优选的,还包括:执行所述标准格式的SQL语句,得到结果集;根据所述结果集中的各个结果绑定与各个所述结果对应的数据模型。优选的,所述特定标注包括模型标注和/或模型属性标注;其中,所述模型标注用于将确定所述数据库中的目标数据表,所述模型属性标注用于确定所述目标数据表中的目标数据列。优选的,所述模型标注具体包括:用于确定所述目标数据表的第一模型标注;用于将所述目标数据表与其他数据表进行关联的第二模型标注;用于表征查询参数的第三模型标注;用于表征查询条件的第四模型标注;用于对结果进行分组的第五模型标注;用于表征以合计方式作为查询条件的第六模型标注;用于使用字段排序方式对结果进行排序的第七模型标注;用于执行联合查询的第八模型标注;用于使用子查询的第九模型标注。优选的,所述模型属性标注具体包括:用于确定所述目标数据表中目标数据列的第一模型属性标注;用于生成合计统计的第二模型属性标注。优选的,所述预设编程接口以及所述预设生成规则预先设置在MVC架构中的标准类库中。优选的,所述预设编程接口具体包括:用于根据所述数据模型中的所述特定标注以及所述预设生成规则生成标准格式的SQL语句并将该标准格式的SQL语句返回的第一编程接口;用于根据所述数据模型中的所述特定标注以及所述预设生成规则生成标准格式的SQL语句并将所述特定标注中的目标参数传入该标准格式的SQL语句中执行,并将执行的结果绑定到与该结果相对应的数据模型中并返回绑定后的数据模型的第二编程接口;用于根据所述数据模型中的所述特定标注以及所述预设生成规则生成标准格式的SQL语句并将所述特定标注中的目标参数传入该标准格式的SQL语句中执行,并将执行的结果绑定到与该结果相对应的数据模型中并返回包括该结果的第一个模型的第三编程接口。本专利技术另一方面公开了一种自动生成SQL语句的装置,包括:数据模型确定模块,用于根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系和表征生成标准格式的SQL语句的必要参数;SQL语句生成模块,用于调用所述预设编程接口指令中所对应的预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。优选的,还包括:语句执行模块,用于执行所述标准格式的SQL语句,得到结果集;结果绑定模块,用于根据所述结果集中的各个结果绑定与各个所述结果对应的数据模型。优选的,所述特定标注包括模型标注和/或模型属性标注;优选的,所述预设编程接口以及所述预设生成规则预先设置在MVC架构中的标准类库中。由上述方案可以看出,本专利技术实施例公开了一种自动生成SQL语句的方法及装置,所述方法中先根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系以及生成标准格式的SQL语句的必要参数;然后调用所述预设编程接口指令中所对应的预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。因此,本专利技术实施例中只需要调用预设编程接口就可以自动依据预设生成规则将特定标注生成标准格式的SQL语句,无需开发人员手动编写标准格式的SQL语句,减小编码量,大大提高了工作效率。并且,由于所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系,因此,开发人员可以在极短时间内掌握和理解特定标注的使用方法,基本无需学习成本。且由于特定标注与标准格式的SQL语句有对应关系的存在,可以使得开发人员直接调整特定标注来实现对标准格式的SQL语句的调整和控制,便于复杂SQL语句性能的调整和优化。另外,由于应用开发语言的代码中不再需要交织SQL语句,采用本专利技术实施例后,可以实现应用代码与SQL语句的分离,便于针对性的独立测试。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是现有技术中MVC架构的结构示意图;图2是本专利技术实施例公开的一种自动生成SQL语句的方法的流程示意图;图3是本专利技术实施例公开的一种自动生成SQL语句的装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例主要应用在数据库编程
,主要涉及关系型数据可以开发过程中,为开发人员降低工作量。本专利技术实施例中,提供了一种在数据模型上添加特定标注的方式来实现自动生成SQL语句的方法,可以实现开发人员无需直接使用和编辑标准格式的SQL语句就可以实现数据库的开发和编程。需要说明的是,本专利技术中可以应用在MVC架构中,MVC是模型(model)、视图(v本文档来自技高网
...

【技术保护点】
1.一种自动生成SQL语句的方法,其特征在于,包括:根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系和表征生成标准格式的SQL语句的必要参数;调用所述预设编程接口指令中所对应的预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。

【技术特征摘要】
1.一种自动生成SQL语句的方法,其特征在于,包括:根据用户输入的预设编程接口指令确定与数据库中目标数据表相对应的数据模型;其中,所述数据模型中包括特定标注,所述特定标注用于确定所述数据模型与所述目标数据表的对应关系和表征生成标准格式的SQL语句的必要参数;调用所述预设编程接口指令中所对应的预设编程接口将所述数据模型中的特定标记使用预设生成规则生成标准格式的SQL语句;其中,所述标准格式的SQL语句中的各个部分与所述特定标注具有对应关系。2.根据权利要求1所述的方法,其特征在于,还包括:执行所述标准格式的SQL语句,得到结果集;根据所述结果集中的各个结果绑定与各个所述结果对应的数据模型。3.根据权利要求1或2所述的方法,其特征在于,所述特定标注包括模型标注和/或模型属性标注;其中,所述模型标注用于将确定所述数据库中的目标数据表,所述模型属性标注用于确定所述目标数据表中的目标数据列。4.根据权利要求3所述的方法,其特征在于,所述模型标注具体包括:用于确定所述目标数据表的第一模型标注;用于将所述目标数据表与其他数据表进行关联的第二模型标注;用于表征查询参数的第三模型标注;用于表征查询条件的第四模型标注;用于对结果进行分组的第五模型标注;用于表征以合计方式作为查询条件的第六模型标注;用于使用字段排序方式对结果进行排序的第七模型标注;用于执行联合查询的第八模型标注;用于使用子查询的第九模型标注。5.根据权利要求3所述的方法,其特征在于,所述模型属性标注具体包括:用于确定所述目标数据表中目标数据列的第一模型属性标注;用于生成合计统计的第二模型属性标注。6.根据权利要求1至5任意一项所述的方法,其特征在于,所述预设编程接口以及所述预设生成规则预先设置在MVC架构中的标准类库中。7.根据权利要求3...

【专利技术属性】
技术研发人员:詹奇
申请(专利权)人:艾普阳科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1