CN112711405B - 一种生成增删改查应用程序接口的方法、设备及存储介质 - Google Patents

一种生成增删改查应用程序接口的方法、设备及存储介质 Download PDF

Info

Publication number
CN112711405B
CN112711405B CN202011606324.1A CN202011606324A CN112711405B CN 112711405 B CN112711405 B CN 112711405B CN 202011606324 A CN202011606324 A CN 202011606324A CN 112711405 B CN112711405 B CN 112711405B
Authority
CN
China
Prior art keywords
class
preset
layer
interface
generation
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.)
Active
Application number
CN202011606324.1A
Other languages
English (en)
Other versions
CN112711405A (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.)
Inspur General Software Co Ltd
Original Assignee
Inspur General Software 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 Inspur General Software Co Ltd filed Critical Inspur General Software Co Ltd
Priority to CN202011606324.1A priority Critical patent/CN112711405B/zh
Publication of CN112711405A publication Critical patent/CN112711405A/zh
Application granted granted Critical
Publication of CN112711405B publication Critical patent/CN112711405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种生成增删改查应用程序接口的方法、设备及存储介质,所述方法包括:获取数据库的预设数据表结构;根据所述预设数据表结构,通过预设实体生成类生成实体类;根据所述实体类,通过预设数据库访问层生成类生成数据库访问层;根据所述数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层;根据所述业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口。本申请实施例通过基于数据库的预设数据表结构,实现了自动生成实体类、自动生成实体类、自动生成业务逻辑层、自动生成增删改查应用程序接口,从而简化手工开发代码的流程,并且支持开发人员手工编辑生成的代码,因此提高了开发效率。

Description

一种生成增删改查应用程序接口的方法、设备及存储介质
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种生成增删改查应用程序接口的方法、设备及存储介质。
背景技术
随着计算机技术的发展,应用程序接口的开发与应用越来越普遍,对于应用开发者来说,有了开放的应用程序接口,就可以直接调用多家公司做好的功能来做自己的应用,可以节省开发成本与时间成本,因此应用程序接口的开发与应用变得十分重要。
目前在全球广域网系统的开发过程中,后端开发人员通常需要开发一套完整的增删改查应用程序接口,但是在生成增删改查应用程序接口的过程中,主要通过人工手动编辑的方式生成最终的增删改查应用程序接口,导致手工开发代码的流程比较繁琐,浪费了后端开发人员的大量精力。
发明内容
本申请实施例提供一种生成增删改查应用程序接口的方法、设备及存储介质,用于解决现有技术中的如下技术问题:在生成增删改查应用程序接口的过程中,增删改查应用程序接口的开发效率低。
一方面,本申请实施例提供了一种生成增删改查应用程序接口的方法,方法包括:获取数据库的预设数据表结构;根据预设数据表结构,通过预设实体生成类生成实体类;根据实体类,通过预设数据库访问层生成类生成数据库访问层;根据数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层;根据业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口。
可选地,根据预设数据表结构,通过预设实体生成类生成实体类,具体包括:在运行预设实体生成类时,预设实体生成类根据预设数据表结构,通过持有的数据结构,生成实体类的字段与实体类的构造器;并确定预设数据表的字段与实体类的字段之间的映射关系。
可选地,预设实体生成类至少包括以下任一种:依赖集合、字段集合、以及属性设置方法。
可选地,根据实体类,通过预设数据库访问层生成类生成数据库访问层,具体包括:在运行预设数据库访问层生成类时,预设数据库访问层生成类根据实体类的类名,生成数据库访问层接口类的接口名;根据实体类,确定数据库访问层的增删改查接口;根据预设的数据库访问层接口类的继承关系,确定数据库访问层接口类的继承关系;根据预设的增删改查接口的参数,确定增删改查接口的方法名、入参、返回值;将Java持久层API、实体类注入到数据库访问层接口类。
可选地,根据实体类,通过预设数据库访问层生成类生成数据库访问层,还包括:根据数据库访问层接口类的方法名,通过Java持久层API生成相应的结构化查询语言。
可选地,根据数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层,具体包括:预设业务逻辑层生成类包括预设业务逻辑层接口生成类、预设业务逻辑层实现生成类;在运行预设业务逻辑层接口生成类时,预设业务逻辑层接口生成类根据实体类的类名,生成业务逻辑层接口类的接口名;根据实体类,生成业务逻辑层接口类的增删改查接口;根据预设的增删改查接口的参数,确定增删改查接口的方法名、入参、返回值;将实体类与业务逻辑层的常用依赖注入到业务逻辑层接口类;在运行预设业务逻辑层实现生成类时,预设业务逻辑层实现生成类根据实体类的类名,生成业务逻辑层实现类的类名;根据预设业务逻辑实现类的继承关系,使业务逻辑实现类继承业务逻辑接口类,以实现业务逻辑层接口类定义的增删改查方法,并生成增删改查方法对应的方法体;其中,业务逻辑实现类的方法名、入参、返回值与业务逻辑接口类定义的增删改查方法保持一致;通过预设注解将业务逻辑层的常用依赖、实体类、数据库访问层注入到业务逻辑层实现类。
可选地,根据业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口,具体包括:在运行预设增删改查应用程序层生成类时,预设增删改查应用程序层生成类根据实体类生成增删改查应用程序层的类名;根据预设的控制层注解,确定增删改查应用程序层的控制层注解;根据预设的访问路径,确定增删改查应用程序层的增删改查应用程序接口的预设访问路径;根据预设的请求方式,确定增删改查应用程序接口的请求方式;将业务逻辑层接口类注入增删改查应用程序层;根据业务逻辑层接口类定义的方法生成对应的增删改查应用程序接口。
可选地,根据预设核心类Java文件生成类,生成Java文件;其中,预设核心类Java文件生成类包括Java文件的属性、Java文件的方法、Java文件的类;Java文件的属性包括Java文件的路径、Java文件的名、包名、需要引入的依赖集、自动注入的集合、类持有属性的集合、类持有方法体的集合;Java文件的方法包括初始化Java文件的属性的方法、创建Java文件的方法、生成Java文件的路径的方法;Java文件的类包括内部类、属性类、方法类,用于生成类持有的属性和方法。
另一方面,本申请实施例提供了一种生成增删改查应用程序接口的设备,该设备包括处理器、存储器和存储在前述存储器上的执行指令,前述执行指令设置成在被前述处理器执行时能够使前述设备执行上述中任一项技术方案的方法。
又一方面,本申请实施例提供了一种存储介质,该存储介质存储有执行指令,前述执行指令设置成在被电子设备的处理器执行时能够使前述电子设备执行上述中任一项技术方案的方法。
本领域技术人员能够理解的是,本申请实施例基于数据库的预设数据表结构,通过预设实体生成类实现了自动生成实体类,并通过预设数据库访问层生成类实现了自动生成实体类,并通过预设业务逻辑层生成类实现了自动生成业务逻辑层,并通过预设增删改查应用程序层生成类实现了自动生成增删改查应用程序接口,从而简化手工开发代码的流程,并且支持开发人员手工编辑生成的代码,因此提高了开发效率,降低后端开发的繁琐程度,将后端开发人员从简单的业务逻辑中解放出来。
进一步,本申请实施例通过Java持久层API,可以将数据库访问层接口类的方法名自动转换为相应的结构化查询语言,进一步提高了开发效率。
更进一步,本申请实施例通过根据预设核心类Java文件生成类,生成Java文件,从而更加简化了手工开发代码的流程,提高了开发效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将结合附图来对本申请的部分实施例进行详细说明,附图中:
图1是本申请实施例提供的一种生成增删改查应用程序接口的方法流程图;
图2是本申请实施例提供的一种预设实体生成类生成实体类的方法流程图;
图3是本申请实施例提供的一种预设数据库访问层生成类生成数据库访问层的方法流程图;
图4是本申请实施例提供的一种预设业务逻辑层生成类生成业务逻辑层的方法流程图;
图5是本申请实施例提供的一种预设增删改查应用程序层生成类生成增删改查应用程序接口的方法流程图;
图6是本申请实施例提供的一种生成增删改查应用程序接口的设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。本领域技术人员应当理解的是,本节具体实施方式中所描述的实施例仅是本申请的一部分实施例,而不是本申请的全部实施例。基于本节具体实施方式中所描述的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都不会偏离本申请的技术原理,因此都应当落入到本申请的保护范围内。
下面参照附图来对本申请的一些实施例进行详细说明。
参见图1,图1为本申请实施例提供的一种生成增删改查应用程序接口的方法流程图,该方法应用于生成增删改查应用程序接口的服务器,包括以下步骤:
S101、获取数据库的预设数据表结构。
具体地,首先服务器根据预先定义的核心类Java文件生成类,生成Java文件。
其中,核心类Java文件生成类会提供Java文件的属性。例如,生成Java文件的路径、Java文件的名、包名、需要引入的依赖集、自动注入的集合、类持有属性的集合、类持有方法体的集合。此外,核心类Java文件生成类会提供Java文件的方法。例如,初始化Java文件的属性的方法,创建文件的方法和生成Java文件的路径的方法。另外,核心类Java文件生成类会提供Java文件的类。例如,内部类属性类和方法类,用于生成类持有的属性和方法。
进一步,服务器通过Java数据库连接获取数据库连接,查询指定表的数据表字段。其中,字段包括字段名称、字段类型。
需要说明的是,本申请实施例对于后端采用的开源框架,可以根据实际需要进行设置,在此不作限定。例如,斯普瑞布特开源框架。
S102、根据预设数据表结构,通过预设实体生成类生成实体类。
具体地,服务器根据预设数据表结构,通过预设实体生成类,完成了数据库字段与实体字段之间的映射转换。
其中,预设实体生成类持有一般实体类拥有的依赖集合、一般实体类持有的字段的集合、一般实体类的属性设置方法。
S103、根据实体类,通过预设数据库访问层生成类生成数据库访问层。
其中,服务器根据实体对象生成数据库访问层方法,并基于实体对象完成单表的增删改查操作。
进一步,在程序运行时,根据实体对象到实体字段的映射关系,将数据库访问层接口类的方法名通过Java持久层API生成相应的结构化查询语言。
需要说明的是,本申请实施例兼容Oracle、MySQL、SQLServer、PG数据库。
S104、根据数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层。
其中,服务器通过注解将数据库访问层注入到业务逻辑层之中,并将实体类、常规工具类等依赖注入到业务逻辑层之中,以对象为载体传递数据,并完成对关键字段的校验。
S105、根据业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口。
其中,生成的增删改查应用程序接口包括实体类的增加、实体类的删除、实体类的修改、实体类的查询。进一步,增删改查应用程序接口通过调用业务逻辑层接口类定义的方法,实现对应的业务逻辑。
另外,本申请实施例自动测试生成的增删改查应用程序接口,并生成接口文档。
需要说明是,本申请实施例对于前端到后端的传递参数的方式,可以根据实际需要进行设置,在此不作限定。例如,使用JavaScript对象简谱格式。具体地,前端以JavaScript对象简谱格式将数据发送给后端,后端接收到参数后,调用业务实体的构造器,根据字段名称一一匹配的原则,完成JavaScript对象到实体对象的转换。另外,使用URL路径拼接参数的方式。对于比较简单的参数传递,比如ID等,需要将参数拼接到URL路径上,后端根据Request Param设置的参数类型,完成字段的转换。
基于前文的描述,本领域技术人员能够理解的是,本申请实施例基于数据库的预设数据表结构,通过预设实体生成类实现了自动生成实体类,并通过预设数据库访问层生成类实现了自动生成实体类,并通过预设业务逻辑层生成类实现了自动生成业务逻辑层,并通过预设增删改查应用程序层生成类实现了自动生成增删改查应用程序接口,从而简化手工开发代码的流程,并且支持开发人员手工编辑生成的代码,因此提高了开发效率,降低后端开发的繁琐程度,将后端开发人员从简单的业务逻辑中解放出来。
进一步,本申请实施例通过Java持久层API,可以将数据库访问层接口类的方法名自动转换为相应的结构化查询语言,进一步提高了开发效率。
更进一步,本申请实施例通过根据预设核心类Java文件生成类,生成Java文件,从而更加简化了手工开发代码的流程,提高了开发效率。
作为本申请实施例可选的一种方式,如图2所示,上述S102,具体可以包括:
S201、根据预设数据表结构,生成实体类代码。
具体地,在运行预设实体生成类时,预设实体生成类根据预设数据表结构,通过持有的数据结构,生成实体类的字段与实体类的构造器。
S202、确定预设数据表的字段与实体类的字段之间的映射关系。
其中,预设实体生成类根据预设数据表结构,通过持有的数据结构,完成预设数据表的字段名称与实体类的字段名称之间的映射转换,以及完成预设数据表的字段类型与实体类的字段类型之间的映射转换。
需要说明的是,虽然本实施例是参照图2来对S201至S202依次进行介绍说明的,但这并不代表步骤S201至S202必须按照严格的先后顺序执行。本实施例之所以按照图2中所示的顺序对S201至S202依次进行介绍说明,是为了方便本领域技术人员理解本实施例的技术方案。换句话说,在本实施例中,S201至S202之间的先后顺序可以根据实际需要进行适当调整。
作为本申请实施例可选的一种方式,如图3所示,上述S103,具体可以包括:
S301、根据实体类生成数据库访问层的接口名。
具体地,在运行预设数据库访问层生成类时,预设数据库访问层生成类根据实体类的类名,生成数据库访问层接口类的接口名。
S302、根据实体类生成数据库访问层的增删改查接口。
此外,预设数据库访问层生成类通过预设的增删改查接口的参数,确定增删改查接口的方法名、入参、返回值。
S303、将实体类注入到数据库访问层。
具体地,预设数据库访问层生成类将Java持久层API、实体类依赖注入到数据库访问层接口类。此外,预设数据库访问层生成类通过预设数据库访问层接口类的继承关系,确定数据库访问层接口类的继承关系。
需要说明的是,虽然本实施例是参照图3来对S301至S303依次进行介绍说明的,但这并不代表S301至S303必须按照严格的先后顺序执行。本实施例之所以按照图3中所示的S301至S303顺序对依次进行介绍说明,是为了方便本领域技术人员理解本实施例的技术方案。换句话说,在本实施例中,S301至S303之间的先后顺序可以根据实际需要进行适当调整。
作为本申请实施例可选的一种方式,如图4所示,上述S104,具体可以包括:
S401、根据数据库访问层,生成业务逻辑层接口类。
具体地,在运行预设业务逻辑层接口生成类时,预设业务逻辑层接口生成类根据实体类的类名,生成业务逻辑层接口类的接口名。
进一步,预设业务逻辑层接口生成类根据实体类,生成业务逻辑层接口类的增删改查接口。
更进一步,预设业务逻辑层接口生成类根据预设的增删改查接口的参数,确定增删改查接口的方法名、入参、返回值;
此外,预设业务逻辑层接口生成类将实体类与业务逻辑层的常用依赖注入到业务逻辑层接口类。
S402、根据业务逻辑层接口类,生成业务逻辑实现类。
具体地,在运行预设业务逻辑层实现生成类时,预设业务逻辑层实现生成类根据实体类的类名,生成业务逻辑层实现类的类名。
S403、根据业务逻辑层接口类,生成业务逻辑实现类的增删改查方法。
具体地,预设业务逻辑层实现生成类根据预设业务逻辑实现类的继承关系,使业务逻辑实现类进行继承业务逻辑接口类,以实现业务逻辑层接口类定义的增删改查方法,并生成增删改查方法对应的方法体。
其中,业务逻辑实现类的方法名、入参、返回值与业务逻辑接口类定义的增删改查方法保持一致。
S404、将数据库访问层注入到业务逻辑实现类。
预设业务逻辑层实现生成类通过预设注解将业务逻辑层的常用依赖、实体类、数据库访问层注入到业务逻辑层实现类。
需要说明的是,虽然本实施例是参照图4来对S401至S404依次进行介绍说明的,但这并不代表S401至S404必须按照严格的先后顺序执行。本实施例之所以按照图4中所示的S401至S404顺序对依次进行介绍说明,是为了方便本领域技术人员理解本实施例的技术方案。换句话说,在本实施例中,S401至S404之间的先后顺序可以根据实际需要进行适当调整。
作为本申请实施例可选的一种方式,如图5所示,上述S105,具体可以包括:
S501、根据业务逻辑层接口类生成增删改查应用程序层。
具体地,在运行预设增删改查应用程序层生成类时,预设增删改查应用程序层生成类根据实体类生成增删改查应用程序层的类名。
并且预设增删改查应用程序层生成类根据预设的控制层注解,确定增删改查应用程序层的控制层注解。并且预设增删改查应用程序层生成类根据预设的访问路径,确定增删改查应用程序层的增删改查应用程序接口的预设访问路径。并且根据预设的请求方式,确定增删改查应用程序接口的请求方式。
需要说明的是,本申请实施例对于增删改查应用程序接口的请求方式,可以根据实际需要进行设置,在此不作限定。例如,增删改查应用程序接口对外的访问方式为POST请求。
S502、生成增删改查应用程序层的增删改查接口。
具体地,预设增删改查应用程序层生成类根据业务逻辑层接口类定义的方法生成对应的增删改查应用程序接口。
S503、将业务逻辑实现类注入到增删改查应用程序层。
具体地,预设增删改查应用程序层生成类将业务逻辑层接口类依赖注入到增删改查应用程序层。
需要说明的是,虽然本实施例是参照图5来对S501至S503依次进行介绍说明的,但这并不代表S501至S503必须按照严格的先后顺序执行。本实施例之所以按照图5中所示的S501至S503顺序对依次进行介绍说明,是为了方便本领域技术人员理解本实施例的技术方案。换句话说,在本实施例中,S501至S503之间的先后顺序可以根据实际需要进行适当调整。
如图6所示,本申请还提供了一种生成增删改查应用程序接口的设备。该设备在硬件层面上包括处理器,可选地还包括存储器和总线,此外该设备还允许包括其它业务所需要的硬件。
其中,存储器用于存放执行指令,该执行指令具体是能够被执行的计算机程序。进一步,存储器可以包括内存和非易失性存储器(non-volatile memory),并向处理器提供执行指令和数据。示例性地,内存可以是高速随机存取存储器(Random-Access Memory,RAM),非易失性存储器可以是至少1个磁盘存储器。
其中,总线用于将处理器、存储器和网络接口相互连接到一起。该总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线、EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为了便于表示,图6中仅用一个双向箭头表示,但这并不表示仅有一根总线或一种类型的总线。
在上述设备的一种可行的实施方式中,处理器可以先从非易失性存储器中读取对应的执行指令到内存中再运行,也可以先从其它设备上获取相应的执行指令再运行。处理器在执行存储器所存放的执行指令时,能够实现本申请上述任意一个方法实施例中的方法。
本领域技术人员能够理解的是,上述的方法可以应用于处理器中,也可以借助处理器来实现。示例性地,处理器是一种集成电路芯片,具有处理信号的能力。在处理器执行上述方法的过程中,上述方法的各步骤可以通过处理器中硬件形式的集成逻辑电路或软件形式的指令完成。进一步,上述处理器可以是通用处理器,例如中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、微处理器以及其它任何常规的处理器。
本领域技术人员还能够理解的是,本申请上述方法实施例的步骤可以被硬件译码处理器执行完成,也可以被译码处理器中的硬件和软件模块组合执行完成。其中,软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等其它本领域成熟的存储介质中。该存储介质位于存储器中,处理器读取存储器中的信息之后结合其硬件完成上述方法实施例中步骤的执行。
虽然图中并未示出,但是本申请还提出了一种存储介质,该存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本申请上述任意一个方法实施例中的方法。
本领域技术人员能够理解的是,本申请上述各个实施例中的电子设备可以是计算机。
至此,已经参照附图并结合上述实施例完成了对本申请技术方案的描述。
本领域技术人员能够理解的是,本申请上述的方法实施例能够以方法的形式或计算机程序产品的形式来展现。因此,本申请的技术方案可以采用全硬件的方式来实施,也可以采用全软件的形式来实施,还可以采用软件与硬件相结合的形式来实施。
需要说明的是,为了突出本申请上述多个实施例彼此之间的不同之处,本申请上述的多个实施例之间是以并列的方式和/或递进的方式来进行布局和描述的,并且后面的实施例仅重点说明了其与其它实施例之间的不同之处,各个实施例之间相同或相似的部分可以互相参照。举例说明,对于装置/产品实施例而言,由于装置/产品实施例与方法实施例基本相似,所以描述的相对比较简单,相关之处参见方法实施例对应部分的说明即可。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请技术原理之内所作的任何修改、等同替换、改进等,均应落入本申请的保护范围之内。

Claims (6)

1.一种生成增删改查应用程序接口的方法,其特征在于,所述方法包括:
获取数据库的预设数据表结构;
根据所述预设数据表结构,通过预设实体生成类生成实体类;
根据所述实体类,通过预设数据库访问层生成类生成数据库访问层;
根据所述数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层;
根据所述业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口;
所述根据所述实体类,通过预设数据库访问层生成类生成数据库访问层,具体包括:
在运行所述预设数据库访问层生成类时,所述预设数据库访问层生成类根据所述实体类的类名,生成所述数据库访问层接口类的接口名;
根据所述实体类,确定所述数据库访问层的增删改查接口;
根据预设的所述数据库访问层接口类的继承关系,确定所述数据库访问层接口类的继承关系;
根据预设的所述增删改查接口的参数,确定所述增删改查接口的方法名、入参、返回值;
将Java持久层API、所述实体类注入到所述数据库访问层接口类;
所述方法还包括:
根据所述数据库访问层接口类的方法名,通过Java持久层API生成相应的结构化查询语言;
所述根据所述业务逻辑层,通过预设增删改查应用程序层生成类生成增删改查应用程序接口,具体包括:
在运行所述预设增删改查应用程序层生成类时,所述预设增删改查应用程序层生成类根据所述实体类生成增删改查应用程序层的类名;
根据预设的控制层注解,确定所述增删改查应用程序层的控制层注解;
根据预设的访问路径,确定所述增删改查应用程序层的增删改查应用程序接口的预设访问路径;
根据预设的请求方式,确定所述增删改查应用程序接口的请求方式;
将所述业务逻辑层接口类注入所述增删改查应用程序层;
根据所述业务逻辑层接口类定义的方法生成对应的所述增删改查应用程序接口;
所述方法还包括:
根据预设核心类Java文件生成类,生成Java文件;其中,所述预设核心类Java文件生成类包括Java文件的属性、Java文件的方法、Java文件的类;
所述Java文件的属性包括所述Java文件的路径、所述Java文件的名、包名、需要引入的依赖集、自动注入的集合、类持有属性的集合、类持有方法体的集合;
所述Java文件的方法包括初始化所述Java文件的属性的方法、创建所述Java文件的方法、生成所述Java文件的路径的方法;
所述Java文件的类包括内部类、属性类、方法类,用于生成类持有的属性和方法。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预设数据表结构,通过预设实体生成类生成实体类,具体包括:
在运行所述预设实体生成类时,所述预设实体生成类根据所述预设数据表结构,通过持有的数据结构,生成所述实体类的字段与所述实体类的构造器;
并确定所述预设数据表的字段与所述实体类的字段之间的映射关系。
3.根据权利要求2所述的方法,其特征在于,所述预设实体生成类至少包括以下任一种:
依赖集合、字段集合、以及属性设置方法。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据库访问层,通过预设业务逻辑层生成类生成业务逻辑层,具体包括:
所述预设业务逻辑层生成类包括预设业务逻辑层接口生成类、预设业务逻辑层实现生成类;
在运行所述预设业务逻辑层接口生成类时,所述预设业务逻辑层接口生成类根据所述实体类的类名,生成所述业务逻辑层接口类的接口名;
根据所述实体类,生成所述业务逻辑层接口类的增删改查接口;
根据预设的所述增删改查接口的参数,确定所述增删改查接口的方法名、入参、返回值;
将所述实体类与所述业务逻辑层的常用依赖注入到所述业务逻辑层接口类;
在运行所述预设业务逻辑层实现生成类时,所述预设业务逻辑层实现生成类根据所述实体类的类名,生成所述业务逻辑层实现类的类名;
根据预设的所述业务逻辑实现类的继承关系,使所述业务逻辑实现类继承所述业务逻辑接口类,以实现所述业务逻辑层接口类定义的增删改查方法,并生成所述增删改查方法对应的方法体;
其中,所述业务逻辑实现类的方法名、入参、返回值与所述业务逻辑接口类定义的增删改查方法保持一致;
通过预设注解将所述业务逻辑层的常用依赖、所述实体类、所述数据库访问层注入到所述业务逻辑层实现类。
5.一种生成增删改查应用程序接口的设备,其特征在于,所述设备包括处理器、存储器和存储在所述存储器上的执行指令,所述执行指令设置成在被所述处理器执行时能够使所述设备执行权利要求1至4中任一项所述的方法。
6.一种存储介质,其特征在于,所述存储介质存储有执行指令,所述执行指令设置成在被电子设备的处理器执行时能够使所述电子设备执行权利要求1至4中任一项所述的方法。
CN202011606324.1A 2020-12-28 2020-12-28 一种生成增删改查应用程序接口的方法、设备及存储介质 Active CN112711405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011606324.1A CN112711405B (zh) 2020-12-28 2020-12-28 一种生成增删改查应用程序接口的方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011606324.1A CN112711405B (zh) 2020-12-28 2020-12-28 一种生成增删改查应用程序接口的方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112711405A CN112711405A (zh) 2021-04-27
CN112711405B true CN112711405B (zh) 2022-10-25

Family

ID=75547080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011606324.1A Active CN112711405B (zh) 2020-12-28 2020-12-28 一种生成增删改查应用程序接口的方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112711405B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113609128B (zh) * 2021-07-21 2024-08-13 深圳市元征科技股份有限公司 生成数据库实体类的方法、装置、终端设备及存储介质
CN114816359A (zh) * 2022-04-21 2022-07-29 平安国际智慧城市科技股份有限公司 基于接口组件的数据表编辑方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008005102A2 (en) * 2006-05-13 2008-01-10 Sap Ag Consistent set of interfaces derived from a business object model
CN111552464A (zh) * 2020-04-27 2020-08-18 上海鸿翼软件技术股份有限公司 一种sdk生成方法、装置、设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399734B (zh) * 2013-07-10 2017-02-08 北京慧点科技有限公司 生成rest服务和rest实现的方法及对应的设备
CN105677323A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成数据库操作层代码的方法
CN109359112A (zh) * 2018-10-15 2019-02-19 行吟信息科技(上海)有限公司 一种代码的自动生成方法及代码生成器
US10521195B1 (en) * 2019-03-19 2019-12-31 Servicenow, Inc. Guided definition of an application programming interface action for a workflow
CN110381135B (zh) * 2019-07-18 2021-09-28 北京奇艺世纪科技有限公司 接口创建方法、服务请求方法、装置、计算机设备和介质
CN110989999A (zh) * 2019-12-03 2020-04-10 望海康信(北京)科技股份公司 代码生成方法、装置、电子设备及介质
CN111198711B (zh) * 2020-01-13 2023-02-28 陕西心像信息科技有限公司 基于MongoDB的Collection版本控制方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008005102A2 (en) * 2006-05-13 2008-01-10 Sap Ag Consistent set of interfaces derived from a business object model
CN111552464A (zh) * 2020-04-27 2020-08-18 上海鸿翼软件技术股份有限公司 一种sdk生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112711405A (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN112148509A (zh) 数据处理方法、装置、服务器及计算机可读存储介质
CN109815141B (zh) 一种测试方法和装置
CN112711405B (zh) 一种生成增删改查应用程序接口的方法、设备及存储介质
CN114048701B (zh) 网表eco方法、装置、设备及可读存储介质
CN111813385B (zh) 一种基于Web应用的页面插件化方法、装置及设备
CN111782207A (zh) 任务流代码生成方法、装置、设备及存储介质
CN111427578B (zh) 一种数据转换方法、装置及设备
CN110543427A (zh) 测试用例存储方法、装置、电子设备及存储介质
CN116560642A (zh) 代码生成方法及其装置、电子设备及存储介质
CN116610568A (zh) 一种识别代码的依赖关系的方法、装置、设备及介质
Ural et al. Regression test suite selection using dependence analysis
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
CN115599386A (zh) 代码生成方法、装置、设备及存储介质
CN109284222B (zh) 软件单元、数据处理系统中的项目测试方法、装置及设备
CN115357289A (zh) 寄存器应用信息生成方法、装置、电子设备和存储介质
CN108595656B (zh) 一种数据的处理方法及系统
CN111399842B (zh) 一种代码编译方法及装置
CN114610598A (zh) 测试方法、装置、电子设备及计算机可读存储介质
CN113987337A (zh) 基于组件化动态编排的搜索方法、系统、设备及存储介质
CN113032004B (zh) 在开发环境中管理开发作业的方法、设备和程序产品
CN116578282A (zh) 代码生成方法、装置、电子设备及介质
CN113590179B (zh) 插件检测方法、装置、电子设备及存储介质
CN113126998B (zh) 一种增量源码获取方法、装置、电子设备及存储介质
CN114528214A (zh) 单元测试方法和装置
CN110688430B (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
TA01 Transfer of patent application right

Effective date of registration: 20220927

Address after: 250101 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province

Applicant after: Inspur Genersoft Co.,Ltd.

Address before: 250101 Inspur science and Technology Park, 1036 Inspur Road, hi tech Zone, Jinan City, Shandong Province

Applicant before: SHANDONG INSPUR GENESOFT INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant