数据库管理方法、电子设备与计算机可读存储介质转让专利

申请号 : CN201911171422.4

文献号 : CN111797073A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘小云

申请人 : 北京京东尚科信息技术有限公司北京京东世纪贸易有限公司

摘要 :

本发明提供一种数据库管理方法、电子设备与计算机可读存储介质。在该方法中,接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息,然后,在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系,从而,根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。本发明所提供的技术方案能够提高数据库管理过程的便捷性与扩展能力。

权利要求 :

1.一种数据库管理方法,其特征在于,包括:

接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息;

在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系;

根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。

2.根据权利要求1所述的方法,其特征在于,所述注解信息包括:第一注解信息,用于指示对象与数据库表之间的映射关系;

第二注解信息,用于指示所述对象的属性与所述数据库表的列名之间的映射关系。

3.根据权利要求1所述的方法,其特征在于,所述参数信息还包括属性;

所述属性包括:数据库主键;数据创建者;数据修改者;数据创建时间;数据修改时间;

数据是否有效。

4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:接收生成所述SQL文件的生成请求,所述生成请求中携带所述目标对象的标识、模板类型与存储位置信息;

利用所述注解信息与属性,获取所述目标对象的数据库表信息;

将所述数据库表信息,填充到所述模板类型所指示的目标模板中,得到所述SQL文件;

按照所述存储位置信息,存储所述SQL文件。

5.根据权利要求4所述的方法,其特征在于,所述利用所述注解信息与属性,获取所述目标对象的数据库表信息,包括:利用第一注解信息,获取所述目标对象在所述数据库中对应的数据库表;

利用所述第二注解信息,在所述数据库表中,获取各所述属性各自对应的数据库列名信息。

6.根据权利要求4所述的方法,其特征在于,所述目标模板包括:IBATIS框架类型模板或者MYBATIS框架类型模板。

7.根据权利要求1-3任一项所述的方法,其特征在于,任意一种模板类型的模板中包含至少一种SQL标识,每种SQL标识对应于一种针对所述数据库的执行指令;

任意两种所述模板中所包含的所述SQL标识不同。

8.根据权利要求1-3任一项所述的方法,其特征在于,所述执行指令包括如下至少一种:对象插入;根据主键物理删除;根据主键逻辑删除;根据属性物理删除;根据属性逻辑删除;根据属性修改;根据属性查询对象列表;根据属性统计对象数量。

9.根据权利要求1-3任一项所述的方法,其特征在于,所述第二SQL标识与所述目标对象的标识、所述执行指令的标识相关联。

10.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理,包括:根据所述第二SQL标识所对应的执行指令,调用读取接口或者写入接口;

利用所述读取接口或所述写入接口,对所述数据库进行处理。

11.一种电子设备,其特征在于,包括:

接收模块,用于接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息;

查询模块,用于在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系;

处理模块,用于根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。

12.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10任一项所述方法的步骤。

13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述方法的步骤。

说明书 :

数据库管理方法、电子设备与计算机可读存储介质

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种数据库管理方法、电子设备与计算机可读存储介质。

背景技术

[0002] 数据库是计算机系统网络的一个重要组成部分,业务系统的逻辑代码、用户数据等数据都是利用数据库进行存储的。
[0003] 数据库通过数据库接口实现对外的数据交互。数据库接口一般为采用JAVA语言编写的API接口,一般符合JDBC框架定义的一系列接口规范。在对数据库进行数据读取、数据写入等方面的管理时,数据库接口需要根据接收针对数据库的操作指令,该操作指令中需要携带与该操作相对应的结构化查询语言(Structured Query Language,SQL),数据库接口才能根据操作指令中携带的SQL来实现对数据库的管理。而操作指令中携带的SQL一般是由开发人员手动编写输入的,这种处理方式非常繁琐,不方便使用,不利于扩展应用。

发明内容

[0004] 本发明提供一种数据库管理方法、电子设备与计算机可读存储介质,用以提高数据库管理过程的便捷性与扩展能力。
[0005] 第一方面,本发明提供一种数据库管理方法,包括:
[0006] 接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息;
[0007] 在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系;
[0008] 根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。
[0009] 第二方面,本发明提供一种电子设备,包括:
[0010] 接收模块,用于接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息;
[0011] 查询模块,用于在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系;
[0012] 处理模块,用于根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。
[0013] 第三方面,本发明提供一种电子设备,包括:包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的数据库管理方法的步骤。
[0014] 第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。
[0015] 本发明提供的本发明提供一种数据库管理方法、电子设备与计算机可读存储介质,在本方案中,操作指令中只需要携带第一SQL标识和目标对象的参数信息,就可以在目标对象的SQL文件中,确定第一SQL标识对应的第二SQL标识,如此,可以基于第二SQL标识来执行针对数据库的读写操作。在此过程中,操作指令无需携带完整的SQL语句,如此,开发人员也无需手动输入SQL语句,简化了操作步骤,有利于提高数据库管理过程的便捷性,这也在一定程度上提高了数据库的扩展能力。

附图说明

[0016] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0017] 图1为本发明实施例所提供的一种数据库管理方法的场景架构示意图;
[0018] 图2为本发明实施例所提供的一种数据库管理方法的流程示意图;
[0019] 图3为本发明实施例所提供的注解信息的示意图;
[0020] 图4为本发明实施例所提供的一种生成SQL文件的流程示意图;
[0021] 图5为本发明实施例所提供的一种电子设备的功能方块图;
[0022] 图6为本发明实施例所提供的一种电子设备的实体结构示意图。
[0023] 通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

[0024] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0025] 本发明实施例提供的技术方案,可以应用于任意的数据库或数据库接口中。示例性的,可以参考图1,图1示出了本发明实施例所提供的数据库管理场景的示意图。如图1所示,在数据库110中设置有数据库接口111,数据库110可以通过数据库接口111与业务系统120进行数据交互。由此,本发明实施例所提供的数据库管理方法可以应用于数据库接口
111中。另一种可能的实施例中,该数据库管理方法也可以直接应用于数据库110中。当任意用户需要对数据库进行读取和/或写入的管理操作时,就可以利用该数据库管理方法来实现。
[0026] 例如,当用户在购物网站上搜索某一目标商品时,购物系统可以调用数据库接口来查询数据库中的信息。
[0027] 又例如,当用户通过聊天软件与其他用户进行通信交流时,聊天软件系统需要将聊天记录写入数据库,以便于用户后续查看。
[0028] 又例如,当用户在浏览器上操作以删除历史记录时,浏览器客户端也可以将这些历史记录同时在数据库中删除。
[0029] 可以理解,前述举例中,数据库所对对应的业务系统可以多种多样,不同的业务系统中,针对数据库的管理方式可以相同。并且,本发明实施例对于业务系统的类型无特别限定,可以为服务器或终端设备所安装的各应用程序(Application,APP)的客户端。
[0030] 此外,数据库可以为专门用于数据存储的电子设备,也可以为电子设备中的数据存储位置,也可以为移动存储装置。
[0031] 业务系统与数据库可以为各自独立的电子设备,例如服务器与数据库;或者,业务系统与数据库可以位于同一个电子设备中,例如,购物APP的客户端(业务系统)与该购物APP在手机中的存储位置(数据库)位于同一个手机中。
[0032] 在涉及数据库的读和/或写的数据管理过程中,现有技术中是通过开发人员手动编写SQL语句的方式来实现数据库管理的,这种实现方式实现操作繁琐,且不利于扩展。
[0033] 而本发明提供的技术方案,旨在解决现有技术的如上技术问题。
[0034] 下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0035] 实施例一
[0036] 本发明实施例提供了一种数据库管理方法。示例性的,请参考图2,本发明实施例提供的数据库管理方法可以包括如下步骤:
[0037] S202,接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息。
[0038] 具体的,在针对数据库进行管理操作时,无需再携带完整的SQL语句,只需要携带执行指令的SQL标识即可。
[0039] 其中,目标对象的数据被存储在数据库中,目标对象可以为任意类型的对象。例如,目标对象可以为购物APP中的商品,也可以为聊天APP中的聊天记录,或者,还可以为一条历史浏览记录等。
[0040] S204,在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系。
[0041] 本发明实施例中,可以根据各对象的注解信息,自动生成各对象的SQL文件,在SQL文件中,可以包含多个SQL标识。如此,在实现本方案时,只需要在目标对象的SQL文件里查询到与第一SQL标识对应的第二SQL标识,即可按照第二SQL标识所对应的执行指令,来实现对数据库的管理。
[0042] 数据库可以按照数据库表的形式,分别存储各对象的数据,对象与数据库表一一对应。数据库表可以存储有对象的各类信息。数据库表可以有多个列,每一列都可以存储不同的信息。在一种可能的实施例中,数据库表的每一个列,都可以对应于一个对象属性。
[0043] 本发明实施例中,注解信息可以由开发人员手动添加,也可以在对象存储到数据库时,自动建立对象与数据库表信息之间的关联关系,并为对象添加注解信息。
[0044] S206,根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。
[0045] 本发明实施例中所设计到的执行指令可以包括但不限于:如下至少一种:对象插入;根据主键物理删除;根据主键逻辑删除;根据属性物理删除;根据属性逻辑删除;根据属性修改;根据属性查询对象列表;根据属性统计对象数量。
[0046] 在SQL文件中,前述各执行指令所对应的SQL标识分别可以为:
[0047] 对象插入所对应的SQL标识可以为insertEntity;
[0048] 根据主键物理删除所对应的SQL标识可以为deleteEntityByPk;
[0049] 根据主键逻辑删除所对应的SQL标识可以为logicDeleteEntityByPk;
[0050] 根据属性物理删除所对应的SQL标识可以为deleteEntityByAttr;
[0051] 根据属性逻辑删除所对应的SQL标识可以为logicDeleteEntityByAttr;
[0052] 根据属性修改所对应的SQL标识可以为updateEntityByAttr;
[0053] 根据属性查询对象列表所对应的SQL标识可以为selectEntityByAttr;
[0054] 根据属性统计对象数量所对应的SQL标识可以为countEntityByAttr。
[0055] 综上,只需要根据第二SQL标识所对应的前述执行指令,对数据库中存储的数据进行管理即可。
[0056] 本发明实施例所提供的前述技术方案,可以根据对象的注解信息,自动生成对应的SQL文件,从而,针对数据库进行管理时,只需要携带第一SQL标识和目标对象的参数信息,就可以在目标对象的SQL文件中,确定第一SQL标识对应的第二SQL标识,如此,可以基于第二SQL标识来执行针对数据库的读写操作。在此过程中,操作指令无需携带完整的SQL语句,如此,开发人员也无需手动输入SQL语句,简化了操作步骤,有利于提高数据库管理过程的便捷性,这也在一定程度上提高了数据库的扩展能力。
[0057] 以下,结合图2所示实施例,对本发明实施例的各种实现方式作进一步说明。
[0058] 本发明实施例中,注解信息可以包括但不限于:
[0059] 第一注解信息,用于指示对象与数据库表之间的映射关系;
[0060] 第二注解信息,用于指示所述对象的属性与所述数据库表的列名之间的映射关系。
[0061] 例如,图3示出了一种可能的实施例。在该实施例中,第一注解信息为DbTable注解,DbTable是作用于对象类上的注解,类中的名称(name)属性为数据库表的名字,用于指示对象和数据库表之间的映射关系。第二注解信息为DbColumn注解,DbColumn是作用于对象的属性上的注解,对象的属性即为数据库表结构中列的名字,如此,DbColumn用于指示对象属性与数据库表列名之间的映射关系。
[0062] 本发明实施例中,参数信息可以包括注解信息。
[0063] 此外,参数信息还可以包括但不限于前述实施例所涉及到的对象的属性。其中,对象的属性可以包括但不限于:数据库主键(id);数据创建者(creator);数据修改者(editor);数据创建时间(created);数据修改时间(modified);数据是否有效(yn)。
[0064] 如前所述,本发明实施例中,SQL文件,也可以称之为SQL MAP文件,是利用注解信息自动生成的。现对SQL文件的生成方式进行说明。
[0065] 示例性的,可以参考图4,本发明实施例所提供的数据库管理方法还可以包括如下步骤:
[0066] S402,接收生成所述SQL文件的生成请求,所述生成请求中携带所述目标对象的标识、模板类型与存储位置信息。
[0067] 在如图4所示的实施例中,模板类型可以有多种。例如,SQL文件的模板类型可以包括但不限于:IBATIS框架类型模板(用于生成IBATIS框架的SQL MAP文件)或者MYBATIS框架类型模板(用于生成MYBATIS框架的SQL MAP文件)。
[0068] 需要说明的是,任意一种模板类型的模板中包含至少一种SQL标识,每种SQL标识对应于一种针对所述数据库的执行指令;并且,任意两种所述模板中所包含的所述SQL标识不同。
[0069] S404,利用所述注解信息与属性,获取所述目标对象的数据库表信息。
[0070] 如前所述,可以首先利用第一注解信息,获取所述目标对象在所述数据库中对应的数据库表;进而,再利用第二注解信息,在所述数据库表中,获取各所述属性各自对应的数据库列名信息。
[0071] S406,将所述数据库表信息,填充到所述模板类型所指示的目标模板中,得到所述SQL文件。
[0072] 本发明实施例中,SQL文件可以用Velocity编写而成。具体而言,可以根据前述第一注解信息与第二注解信息,读取数据库表列中的具体信息,然后,基于目标模板,调用Velocity的应用程序接口(Application Programming Interface,API)中的模板合成方法,将数据库表列里的具体信息写入目标模板,得到SQL文件。
[0073] S408,按照所述存储位置信息,存储所述SQL文件。
[0074] 存储位置信息可以是存储路径,也可以是存储位置的名称。如此,若存储位置信息为存储路径,则按照存储路径确定目标存储位置,并将SQL文件存储在该目标存储位置即可。若存储位置信息为存储位置的名称,则将SQL文件存储在该名称对应的存储位置即可。
[0075] 基于如图4所示实施例所提供的方法,本发明实施例可以自动生成各对象的SQL文件,并实现自动存储,无需开发人员为各对象手动编写SQL语句的步骤,简化了开发人员的处理步骤,有利于提高数据库管理效率。
[0076] 需要说明的是,图4所示的实施例为示意性的,实际实现场景中,本发明实施例对模板类型和/或存储位置信息无特别限定。也就是,生成请求中可以携带目标对象的标识,此外,还可以携带的信息包括模板类型与存储位置信息中的至少一种。
[0077] 在一具体的实施例中,可以生成一种固定类型的SQL文件,此时,生成请求中可以仅携带目标对象的标识,或者,携带目标对象的标识与存储位置信息,而无需携带模板类型。
[0078] 或者,在另一实施例中,本发明实施例也可以生成多种不同类型的SQL文件。例如,SQL文件的模板类型可以包括但不限于:IBATIS框架类型模板(用于生成IBATIS框架的SQL MAP文件)或者MYBATIS框架类型模板(用于生成MYBATIS框架的SQL MAP文件)。此时,生成请求中需要携带模板类型信息。也就是,生成请求可以仅携带目标对象的标识与模板类型;或者,携带所述目标对象的标识、模板类型与存储位置信息。
[0079] 类似的,另一具体的实施例中,可以将生成的SQL文件存储到一个固定的默认存储位置,默认存储位置可以是开发人员预设的,也可以是用户手动变更的。此时,生成请求中无需携带存储位置信息。例如,生成请求可以仅携带目标对象的标识,或者,生成请求可以携带目标对象的标识与模板类型。
[0080] 或者,另一实施例中,用户可以直接在生成请求中指定存储位置,也就是,生成请求中可以携带存储位置信息。例如,生成请求可以仅携带目标对象的标识与存储位置信息,或者,生成请求可以携带目标对象的标识、模板类型与存储位置信息。
[0081] 那么,基于生成的SQL文件,在执行具体的数据库管理操作时,就需要确定第一SQL标识在SQL文件中对应的第二SQL标识。
[0082] 本发明的一种实施例中,所述第二SQL标识可以与所述目标对象的标识、所述执行指令的标识相关联。具体而言,第二SQL标识可以由目标对象的标识(ID)与执行指令的标识来构成。
[0083] 示例性的,第二SQL标识的结构可以为:对象的类名+英文点号+执行指令的标识。其中,若对象的类名为英文大写符号,则可以转换为英文小写。例如,若对象的类名为User,而执行指令的标识为insertEntity,那么所生成的第二SQL标识可以为
user.insertEntity。
[0084] 基于此,在SQL文件中,查询第一SQL标识对应的第二SQL标识时,只需要根据第一SQL标识来确定所要执行的执行指令,进而,根据执行指令的标识来确定第二SQL标识即可。
[0085] 例如,若第一SQL标识为插入对象的操作,则可以对应到insert相关的执行指令,进而,对应到insertEntity这一第二SQL标识。又例如,若第一SQL标识为更新操作,则可以对应到update相关的执行指令,进而,对应到updateEntityByAttr这一第二SQL标识。又例如,若第一SQL标识为查询操作,则可以对应到select相关的执行指令,进而,对应到selectEntityByAttr这一第二SQL标识。又例如,若第一SQL标识为删除操作,则可以对应到delete相关的执行指令,进而,对应到与delete相关的多个第二SQL标识,进而根据目标对象的参数信息,确定最终的第二SQL标识。
[0086] 基于前述各实施例,针对数据库的管理操作主要涉及:读取数据与写入数据两个方面。基于此,为了进一步提高数据库管理效率,还可以使用读写分离技术来实现对数据库的管理。也就是,数据库具备读取接口和写入接口,如此,可以通过读取接口来实现读取数据的相关功能,通过写入接口来实现写入数据的相关功能,以此来实现读写分离。
[0087] 一种可能的实施例中,读取接口可以为ReadDao接口,写入接口可以为WriteDao接口,接口方法定义上使用了JAVA泛型。在数据库接口的内置方法中,可以包括三种参数:对象类信息、对象与SQL标识。其中,对象类信息,是指对象的类(class)为抽象领域对象基类BaseModle的子类,而此处的SQL标识并非前述第二SQL标识,而是第一SQL标识,通过前述方式,来最终确定第二SQL标识,并按照第二SQL标识来执行相应指令。
[0088] 如此,在执行图2所示的S206步骤时,可以按照如下方式实现:
[0089] 根据所述第二SQL标识所对应的执行指令,调用读取接口或者写入接口;
[0090] 利用所述读取接口或所述写入接口,对所述数据库进行处理。
[0091] 也就是,利用读取接口,实现对数据库进行读取相关的执行指令,例如对数据库中的数据进行查询;利用写入接口,实现对数据库进行写入相关的处理,例如,将数据写入数据库,又例如,更新数据库中的数据等。
[0092] 本发明实施例利用对象的注解信息来实现对象和数据库表名的映射关系,以及,对象属性与数据库表的列名之间的映射关系。并且,基于注解信息,还能够基于对象的共有基本属性,根据模板来自动生成对象的SQL MAP文件,从而,可以基于SQL文件来实现SQL标识(ID)的一一对应。而对于数据库接口而言,在接口的API中使用泛型来解决不同实体的读写分离,并且,用户还可以自定义SQL标识,来实现对数据库管理的功能扩展。
[0093] 可以理解的是,上述实施例中的部分或全部步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。
[0094] 本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
[0095] 实施例二
[0096] 基于上述实施例一所提供的数据库管理方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
[0097] 本发明实施例提供了一种电子设备,请参考图5,该电子设备500,包括:
[0098] 接收模块52,用于接收针对数据库的操作指令,所述操作指令携带结构化查询语言SQL的第一SQL标识与目标对象的参数信息;
[0099] 查询模块54,用于在所述目标对象对应的SQL文件中,查询与所述第一SQL标识对应的第二SQL标识;其中,所述SQL文件是利用注解信息自动生成的,所述注解信息用于指示对象与数据库表信息之间的对应关系;
[0100] 处理模块56,用于根据所述第二SQL标识所对应的执行指令,对所述数据库进行处理。
[0101] 在一具体的实施例中,所述注解信息包括:
[0102] 第一注解信息,用于指示对象与数据库表之间的映射关系;
[0103] 第二注解信息,用于指示所述对象的属性与所述数据库表的列名之间的映射关系。
[0104] 在另一实施例中,所述参数信息还包括属性;
[0105] 所述属性包括:数据库主键;数据创建者;数据修改者;数据创建时间;数据修改时间;数据是否有效。
[0106] 在另一实施例中,接收模块52,还用于接收生成所述SQL文件的生成请求,所述生成请求中携带所述目标对象的标识、模板类型与存储位置信息;
[0107] 处理模块56,还用于:
[0108] 利用所述注解信息与属性,获取所述目标对象的数据库表信息;
[0109] 将所述数据库表信息,填充到所述模板类型所指示的目标模板中,得到所述SQL文件;
[0110] 按照所述存储位置信息,存储所述SQL文件。
[0111] 在另一实施例中,处理模块56还具体用于:
[0112] 利用第一注解信息,获取所述目标对象在所述数据库中对应的数据库表;
[0113] 利用所述第二注解信息,在所述数据库表中,获取各所述属性各自对应的数据库列名信息。
[0114] 在另一实施例中,所述目标模板包括:IBATIS框架类型模板或者MYBATIS框架类型模板。
[0115] 在另一实施例中,任意一种模板类型的模板中包含至少一种SQL标识,每种SQL标识对应于一种针对所述数据库的执行指令;
[0116] 任意两种所述模板中所包含的所述SQL标识不同。
[0117] 在另一实施例中,所述执行指令包括如下至少一种:对象插入;根据主键物理删除;根据主键逻辑删除;根据属性物理删除;根据属性逻辑删除;根据属性修改;根据属性查询对象列表;根据属性统计对象数量。
[0118] 在另一实施例中,所述第二SQL标识与所述目标对象的标识、所述执行指令的标识相关联。
[0119] 在另一实施例中,处理模块56,还具体用于:
[0120] 根据所述第二SQL标识所对应的执行指令,调用读取接口或者写入接口;
[0121] 利用所述读取接口或所述写入接口,对所述数据库进行处理。
[0122] 图5所示实施例的电子设备500可用于执行上述方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述,可选的,该电子设备500可以服务器或终端。
[0123] 应理解以上图5所示电子设备500的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,处理模块54可以为单独设立的处理元件,也可以集成在电子设备500中,例如终端的某一个芯片中实现,此外,也可以以程序的形式存储于电子设备500的存储器中,由电子设备500的某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0124] 例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
[0125] 并且,本发明实施例提供了一种电子设备,请参考图6,该电子设备500,包括:包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序,处理器520执行程序时可以实现如上述实施例的方法。
[0126] 其中,电子设备500中处理器520的数目可以为一个或多个,处理器520也可以称为处理单元,可以实现一定的控制功能。处理器520可以是通用处理器或者专用处理器等。在一种可选地设计中,处理器520也可以存有指令,指令可以被处理器520运行,使得电子设备500执行上述方法实施例中描述的方法。
[0127] 在又一种可能的设计中,电子设备500可以包括电路,电路可以实现前述方法实施例中发送或接收或者通信的功能。
[0128] 可选地,电子设备500中存储器510的数目可以为一个或多个,存储器510上存有指令或者中间数据,指令可在处理器520上被运行,使得电子设备500执行上述方法实施例中描述的方法。可选地,存储器510中还可以存储有其他相关数据。可选地处理器520中也可以存储指令和/或数据。处理器520和存储器510可以单独设置,也可以集成在一起。
[0129] 此外,如图6所示,在该电子设备500中还设置有收发器530,其中,收发器530可以称为收发单元、收发机、收发电路、或者收发器等,用于与测试设备或其他终端设备进行数据传输或通信,在此不再赘述。
[0130] 如图6所示,存储器510、处理器520与收发器530通过总线连接并通信。
[0131] 此外,本发明实施例提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行以实现如实施例一所述的方法。
[0132] 由于本实施例中的各模块能够执行实施例一所示的方法,本实施例未详细描述的部分,可参考对实施例一的相关说明。
[0133] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0134] 应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。