数据库交互方法、装置设备及存储介质与流程

文档序号:29639076发布日期:2022-04-13 17:57阅读:158来源:国知局
数据库交互方法、装置设备及存储介质与流程
数据库交互方法、装置设备及存储介质
【技术领域】
1.本发明涉及软件开发领域,尤其涉及一种数据库交互方法、装置设备及存储介质。


背景技术:

2.目前,与数据库交互以进行增删改查操作,通常运用对象关系映射(object relational mapping,orm)框架实现。
3.传统的使用orm进行数据库交互的方式,包括:根据数据库中的数据表中的字段生成实体类中对应的对象;并根据字段和对象之间的对应关系与数据库进行交互。
4.然而,在开发大型项目时,实体类中的对象可能会存在更新,此时,实体类中的对象与数据表中的字段不再是一一对应的关系。传统的orm框架无法识别到更新后的对象与字段之间的对应关系,导致无法根据更新后的对象对数据库中的字段进行交互,开发人员需要手动添加更新后的对象与数据库中的字段之间的对应关系,会导致项目开发时的复杂度较高、且效率较低的问题。


技术实现要素:

5.本技术提供了数据库交互方法、装置、设备及存储介质,可以解决传统的orm框架无法识别到更新后的对象与字段之间的对应关系,导致无法根据更新后的对象对数据库中的字段进行交互,开发人员需要手动添加更新后的对象与数据库中的字段之间的对应关系,会导致项目开发时的复杂度较高、且效率较低的问题。本技术提供如下技术方案:
6.第一方面,提供了一种数据库交互方法,,所述方法包括:
7.创建弱实体类,所述弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;
8.创建实体基类,所述实体基类用于继承所述弱实体类;
9.获取数据库中的数据表字段;
10.获取自定义实体类和所述自定义实体类的注解信息;
11.从所述数据表字段中确定与所述注解信息相匹配的目标字段,将所述目标字段与所述自定义实体类中的对象绑定;
12.使所述自定义实体类继承所述实体基类,以通过所述实体基类调用所述弱实体类内封装的调用方法;
13.使用所述自定义实体类按照所述调用方法与所述数据库进行交互。
14.可选地,所述使用所述自定义实体类按照所述调用方法与所述数据库进行交互,包括:
15.接收数据库交互操作,所述数据库交互操作用于指示对所述自定义实体类中的目标对象进行操作;
16.基于目标字段与对象之间的绑定关系确定所述目标对象对应的待操作字段;
17.基于所述数据库交互操作对应的调用方法对所述待操作字段进行操作。
18.可选地,所述弱实体类中的调用方法,用于:
19.删除所述数据表中字段为null的列、删除所述数据表中除保留列外的其他列、设置所述数据表中的列值、获取所述数据表中敏感字段的列值、删除所述数据表的属性、和/或添加所述数据表的属性。
20.可选地,所述弱实体类中的调用方法,还用于:
21.对所述数据表进行增删改查操作。
22.可选地,所述数据表字段包括:
23.所述数据表的表名和所述数据表的主键字段。
24.第二方面,提供了一种数据库交互装置,所述装置包括:
25.第一创建模块,用于创建所述弱实体类,所述弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;
26.第二创建模块,用于创建实体基类,所述实体基类用于继承所述弱实体类;
27.第一获取模块,用于获取数据库中的数据表字段;
28.第二获取模块,用于获取自定义实体类和所述自定义实体类的注解信息;
29.字段绑定模块,用于从所述数据表字段中确定与所述注解信息相匹配的目标字段,将所述目标字段与所述自定义实体类中的对象绑定;
30.方法调用模块,用于使所述自定义实体类继承所述实体基类,以通过所述实体基类调用所述弱实体类内封装的调用方法;
31.数据库交互模块,用于使用所述自定义实体类按照所述调用方法与所述数据库进行交互。
32.可选地,所述数据库交互模块,用于:
33.接收数据库交互操作,所述数据库交互操作用于指示对所述自定义实体类中的目标对象进行操作;
34.基于目标字段与对象之间的绑定关系确定所述目标对象对应的待操作字段;
35.基于所述数据库交互操作对应的调用方法对所述待操作字段进行操作。
36.可选地,所述弱实体类中的调用方法,用于:
37.删除所述数据表中字段为null的列、删除所述数据表中除保留列外的其他列、设置所述数据表中的列值、获取所述数据表中敏感字段的列值、删除所述数据表的属性、和/或添加所述数据表的属性。
38.第三方面,提供了一种电子设备,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的数据库交互方法。
39.第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如第一方面所述的数据库交互方法。
40.本技术的有益效果在于:通过创建弱实体类,所述弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;创建实体基类,所述实体基类用于继承所述弱实体类;获取数据库中的数据表字段;获取自定义实体类和所述自定义实体类的注解信息;从所述数据表字段中确定与所述注解信息相匹配的目标字段,将所述目标字段与所述自定义实体类中的对象绑定;使所述自定义实体类继承所述实体基类,以通过所述实体基类调用所述弱实体类内封装的调用方法;使用所述自定义实体类按
照所述调用方法与所述数据库进行交互。可以解决传统的orm框架无法识别到更新后的对象与字段之间的对应关系,导致无法根据更新后的对象对数据库中的字段进行交互,开发人员需要手动添加更新后的对象与数据库中的字段之间的对应关系,会导致项目开发时的复杂度较高、且效率较低的问题。自定义实体类可以通过配置注解信息的方式灵活指定自定义实体类对象与数据表字段的映射关系,解除了与数据表一一对应的关系,同时可以通过改变注解信息的方式匹配任意数据表,因此简化了项目开发时的复杂度,提高了项目开发时的效率。
41.另外,由于自定义实体类继承了实体基类,即使在数据表的字段变更的情况下,自定义实体可以不做变更同时也不会影响自定义实体类对数据库的交互,保证了自定义实体类的稳定性。
42.另外,因此在与数据库交互时,即使数据表的字段被修改,数据表相应的字段以及字段对应的内容也可以以一定的关系映射至自定义实体类中,
43.另外,由于本数据库交互方法基于orm思想,因此,便捷了与数据库的交互,避免了出现大量sql语句的情况,提高了项目开发时的便捷性。
44.另外,另外由于orm的映射思想,增强了业务逻辑代码可读性,通过查看对应自定义实体类就能理解数据表的结构。
45.另外,由于弱实体类封装的调用方法,可以在数据库交互时完成对敏感字段的列值获取,设置任意字段的列值。
【附图说明】
46.图1是本技术一个实施例提供的数据库交互方法流程示意图;
47.图2是本技术一个实施例提供的数据库交互装置的框图;
48.图3是本技术一个实施例提供的数据库交互方法的电子设备的结构图。
【具体实施方式】
49.下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。下文中将参考附图并结合实施例来详细说明本技术。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
50.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
51.在申请中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的,或者是针对部件本身在竖直、垂直或重力方向上而言的;同样地,为便于理解和描述,“内、外”是指相对于各部件本身的轮廓的内、外,但上述方位词并不用于限制本技术。
52.下面对本技术提供的数据库交互方法进行详细介绍。
53.本实施例提供一种数据库交互方法,如图1所示,该方法至少包括以下几个步骤:
54.步骤101,创建弱实体类,弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;
55.其中,不同操作类型对应的调用方法用于对数据表包括增删改查操作。
56.具体地,增删改查操作包括对指定数据表进行增加字段内容操作,对指定数据表进行删除字段内容操作,对指定数据表进行修改字段内容操作,对指定数据表进行查询字段内容操作。
57.其中,指定字段的指定操作类型对应的调用方法包括删除数据表中字段为null的列、删除数据表中除保留列外的其他列、设置数据表中的列值、获取数据表中敏感字段的列值、删除数据表的属性、和/或添加数据表的属性。
58.在实际操作时,可根据具体需求在弱实体类中封装方法。
59.步骤102,创建实体基类,实体基类用于继承弱实体类。
60.步骤103,获取数据库中的数据表字段。
61.具体地,数据库中的数据表字段包括数据表的表名和数据表的主键字段。
62.步骤104,获取自定义实体类和自定义实体类的注解信息。
63.具体地,注解信息内配置有与数据表的表名与主键字段。
64.步骤105,从数据表字段中确定与注解信息相匹配的目标字段,将目标字段与自定义实体类中的对象绑定。
65.本实施例中,可以通过更改注解信息的方式与任意数据表进行绑定。
66.步骤106,使自定义实体类继承实体基类,以通过实体基类调用弱实体类内封装的调用方法。
67.其中,由于实体基类继承弱实体类,因此实体基类中包含有弱实体类中的调用方法。
68.具体地,调用方法包括不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法。
69.步骤107,使用自定义实体类按照调用方法与数据库进行交互。
70.具体地,使用自定义实体类按照调用方法与数据库进行交互,包括以下步骤:
71.步骤1,接收数据库交互操作,数据库交互操作用于指示对自定义实体类中的目标对象进行操作;
72.步骤2,基于目标字段与对象之间的绑定关系确定目标对象对应的待操作字段;
73.步骤3,基于数据库交互操作对应的调用方法对待操作字段进行操作。
74.可选地,对待操作字段进行操作包括:删除数据表中字段为null的列、删除数据表中除保留列外的其他列、设置数据表中的列值、获取数据表中敏感字段的列值、删除数据表的属性、和/或添加数据表的属性。
75.可选地,对待操作字段进行操作还包括:对指定数据表进行增加字段内容操作,对指定数据表进行删除字段内容操作,对指定数据表进行修改字段内容操作,对指定数据表进行查询字段内容操作。
76.综上所述,本实施例提供的数据库交互方法,通过创建弱实体类,弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;创建实体基类,实体基类用于继承弱实体类;获取数据库中的数据表字段;获取自定义实体类和自定义实体类的注解信息;从数据表字段中确定与注解信息相匹配的目标字段,将目标字段与自定义实体类中的对象绑定;使自定义实体类继承实体基类,以通过实体基类调用弱
实体类内封装的调用方法;使用自定义实体类按照调用方法与数据库进行交互。可以解决传统的orm框架无法识别到更新后的对象与字段之间的对应关系,导致无法根据更新后的对象对数据库中的字段进行交互,开发人员需要手动添加更新后的对象与数据库中的字段之间的对应关系,会导致项目开发时的复杂度较高、且效率较低的问题。自定义实体类可以通过配置注解信息的方式灵活指定自定义实体类对象与数据表字段的映射关系,解除了与数据表一一对应的关系,同时可以通过改变注解信息的方式匹配任意数据表,因此简化了项目开发时的复杂度,提高了项目开发时的效率。
77.另外,由于自定义实体类继承了实体基类,即使在数据表的字段变更的情况下,自定义实体可以不做变更同时也不会影响自定义实体类对数据库的交互,保证了自定义实体类的稳定性。
78.另外,因此在与数据库交互时,即使数据表的字段被修改,数据表相应的字段以及字段对应的内容也可以以一定的关系映射至自定义实体类中,
79.另外,由于本数据库交互方法基于orm思想,因此,便捷了与数据库的交互,避免了出现大量sql语句的情况,提高了项目开发时的便捷性。
80.另外,另外由于orm的映射思想,增强了业务逻辑代码可读性,通过查看对应自定义实体类就能理解数据表的结构。
81.另外,由于弱实体类封装的调用方法,可以在数据库交互时完成对敏感字段的列值获取,设置任意字段的列值。
82.图2是本技术一个实施例提供的数据库交互装置的框图。该装置至少包括以下几个模块:第一创建模块210、第二创建模块220、第一获取模块230、第二获取模块240、字段绑定模块250、方法调用模块260、数据库交互模块270。
83.第一创建模块210,用于创建弱实体类,弱实体类内封装有:不同操作类型对应的调用方法、和/或指定字段的指定操作类型对应的调用方法;
84.第二创建模块220,用于创建实体基类,实体基类用于继承弱实体类;
85.第一获取模块230,用于获取数据库中的数据表字段;
86.第二获取模块240,用于获取自定义实体类和自定义实体类的注解信息;
87.字段绑定模块250,用于从数据表字段中确定与注解信息相匹配的目标字段,将目标字段与自定义实体类中的对象绑定;
88.方法调用模块260,用于使自定义实体类继承实体基类,以通过实体基类调用弱实体类内封装的调用方法;
89.数据库交互模块270,用于使用自定义实体类按照调用方法与数据库进行交互。
90.具体地,数据库交互模块接收数据库交互操作,数据库交互操作用于指示对自定义实体类中的目标对象进行操作;
91.基于目标字段与对象之间的绑定关系确定目标对象对应的待操作字段;
92.基于数据库交互操作对应的调用方法对待操作字段进行操作。
93.本实施例提供一种电子设备,如图3所示,该电子设备至少包括处理器301和存储器302。
94.处理器301可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器301可以采用dsp(digital signal processing,数字信号处理)、fpga(field-
programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
95.存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本技术中方法实施例提供的数据库交互方法。
96.在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器301、存储器302和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
97.当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
98.可选地,本技术还提供有一种计算机可读存储介质,计算机可读存储介质中存储有程序,程序由处理器加载并执行以实现上述方法实施例的数据库交互方法。
99.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
100.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1