本发明涉及计算机,具体涉及一种基于数据模型维度的解耦方法、系统、设备和存储介质。
背景技术:
1、安卓开发是一种基于安卓操作系统的移动应用程序开发,它涉及到多个层次的架构设计和实现。其中数据层和业务层是安卓开发中的两个重要组成部分,它们分别负责数据的管理和逻辑的处理。数据层主要包括数据库相关的模型,也就是实体类(entity),它们用来定义和存储数据的结构和属性。业务层主要包括业务逻辑相关的模型,也就是模型类(model),它们用来封装和操作数据的行为和规则。
2、现有的主流架构中,更多强调的是视图层、业务层和数据层的职责、结构和关系,但是关于数据层和业务层中数据模型的耦合性却疏于考虑。现有的对象关系映射框架(orm)主要用于解决关系型数据库和面向对象编程之间的不匹配问题,无益于业务层和数据层的耦合问题。尤其是在复杂的多模块应用工程中,业务层的model往往是通过筛选和聚合多个entity相关字段而成,而在现有的orm框架之下,为了从数据库查询相关的数据,开发者必须将这类型的聚合model定义到数据层,这样会增加数据层和业务层的耦合度,不利于工程的模块化,也会影响代码的可读性和可维护性。开发者提出了一种解决方案,把model解析成多个entity,然后以entity的维度去访问数据库,但是这种方案也有很多缺点,例如性能低下、可实现度极低、代码的可读性、可维护性、可拓展性差等。
技术实现思路
1、鉴于现有技术的上述不足,本发明提供一种基于数据模型维度的解耦方法、系统、设备和存储介质,有效解决数据层和业务层关于数据模型维度耦合度高的问题。
2、第一方面,本发明提供一种基于数据模型维度的解耦方法,所述方法包括:
3、根据业务需求构建业务层的初始模型,所述业务层执行结构化查询语言获得数据库查询结果;
4、通过数据层的解耦对象关系映射框架修饰所述初始模型,获得业务数据模型;
5、解析所述业务数据模型,生成数据模型实体,并对数据库进行操作;
6、所述解耦对象关系映射框架解析所述数据库查询结果,生成标准模型,并将所述标准模型返回所述业务层。
7、进一步的,所述解耦对象关系映射框架包括对象关系映射注解模块、业务数据模型解析器、数据库光标解析器、数据库操作模型、数据库框架访问接口和数据库框架。
8、进一步的,所述对象关系映射注解模块包括字段别名注解、字段唯一标识注解、字段忽略注解和数据库表标识注解。
9、进一步的,所述通过数据层的解耦对象关系映射框架修饰所述模型,包括:
10、所述数据库表标识注解将所述初始模型与数据表关联;
11、所述字段别名注解调整所述初始模型的冲突字段名;
12、所述字段忽略注解忽略所述初始模型的字段;
13、所述字段唯一标识注解修饰唯一确定所述初始模型的字段。
14、进一步的,所述解析所述业务数据模型,生成数据模型实体,并对数据库进行操作,包括:
15、所述数据库表标识注解对所述业务数据模型进行标识注解,生成模型注解;
16、所述业务数据模型解析器根据所述模型注解进行解析,生成所述数据模型实体;
17、所述业务数据模型解析器生成数据库操作对象,所述数据库操作对象包括创建对象、更新对象和删除对象;
18、所述业务数据模型解析器调用所述数据库框架访问接口创建、更新和删除数据表。
19、进一步的,所述解耦对象关系映射框架解析所述数据库查询结果,生成标准模型,并将所述标准模型返回所述业务层,包括:
20、将所述数据库查询结果转换成数据库查询结果光标;
21、所述数据库光标解析器扫描所述业务数据模型的注解,获得注解参数;
22、根据所述注解参数解析所述数据库查询结果光标,生成所述标准模型,并将所述标准模型返回所述业务层。
23、进一步的,所述根据所述注解参数解析所述数据库查询结果光标,生成所述标准模型,并将所述标准模型返回所述业务层,包括:
24、将所述数据库查询结果光标的位置扫描至数据表末端;
25、根据所述业务数据模型的唯一标识字符串寻找指定对象列表,获得指定对象;
26、根据所述指定对象通过反射机制构建所述标准模型,并将所述标准模型返回所述业务层。
27、第二方面,本发明提供一种基于数据模型维度的解耦系统,所述系统包括:
28、模型构建模块,用于根据业务需求构建业务层的初始模型,所述业务层执行结构化查询语言获得数据库查询结果;
29、模型修饰模块,用于通过数据层的解耦对象关系映射框架修饰所述初始模型,获得业务数据模型;
30、模型解析模块,用于解析所述业务数据模型,生成数据模型实体,并对数据库进行操作;
31、数据解耦模块,用于所述解耦对象关系映射框架解析所述数据库查询结果,生成标准模型,并将所述标准模型返回所述业务层。
32、第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序实现如本发明第一方面所述基于数据模型维度的解耦方法的步骤。
33、第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述基于数据模型维度的解耦方法的步骤。
34、本发明提供的一种基于数据模型维度的解耦方法、系统、设备和存储介质,注解驱动的方式使得业务数据模型解析器能够动态地适应不同的业务数据模型类型,提供了灵活性和可扩展性。通过这一过程,业务数据模型解析器成为连接业务层模型和数据库操作的桥梁,从数据模型的维度进一步降低了数据层和业务层的耦合度,开发者可以彻底将数据模块单独分隔出来开发和部署;解耦对象关系映射框架通过业务数据模型解析器和数据库光标解析器的协同工作,使开发者在访问数据库时无需关心模型类与实体类的转换逻辑,减少了代码中繁琐的数据转换操作,从而使代码更为简洁、清晰,有效地减轻了开发者的负担,提高了开发效率。
1.一种基于数据模型维度的解耦方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于数据模型维度的解耦方法,其特征在于,所述解耦对象关系映射框架包括对象关系映射注解模块、业务数据模型解析器、数据库光标解析器、数据库操作模型、数据库框架访问接口和数据库框架。
3.根据权利要求2所述的基于数据模型维度的解耦方法,其特征在于,所述对象关系映射注解模块包括字段别名注解、字段唯一标识注解、字段忽略注解和数据库表标识注解。
4.根据权利要求3所述的基于数据模型维度的解耦方法,其特征在于,所述通过数据层的解耦对象关系映射框架修饰所述初始模型,包括:
5.根据权利要求3所述的基于数据模型维度的解耦方法,其特征在于,所述解析所述业务数据模型,生成数据模型实体,并对数据库进行操作,包括:
6.根据权利要求3所述的基于数据模型维度的解耦方法,其特征在于,所述解耦对象关系映射框架解析所述数据库查询结果,生成标准模型,并将所述标准模型返回所述业务层,包括:
7.根据权利要求6所述的基于数据模型维度的解耦方法,其特征在于,所述根据所述注解参数解析所述数据库查询结果光标,生成所述标准模型,并将所述标准模型返回所述业务层,包括:
8.一种基于数据模型维度的解耦系统,其特征在于,所述系统包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现如权利要求1至7任一项所述基于数据模型维度的解耦方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于数据模型维度的解耦方法的步骤。
