数据库映射文件生成方法、装置、设备及存储介质制造方法及图纸

技术编号:32546314 阅读:13 留言:0更新日期:2022-03-05 11:44
本申请公开了一种数据库映射文件生成方法、装置、设备及存储介质,涉及数据库技术领域,用于提升数据库映射文件的生成效率,该方法包括:在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合;创建实体类集合,并将所述至少一个元素集合存放至所述实体类集合中;调用所述映射文件生成插件,遍历所述实体类集合中的每一个数据库表,为每个数据库表生成相应的映射文件。库表生成相应的映射文件。库表生成相应的映射文件。

【技术实现步骤摘要】
数据库映射文件生成方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及数据库
,提供一种数据库映射文件生成方法、装置、设备及存储介质。

技术介绍

[0002]Java是一种面向对象的企业级应用开发语言,在使用Java语言进行应用系统开发时,一般都离不开对数据库的操作,Java语言对数据库操作暴露的是接口,具体的实现是由数据库的提供商自行实现的。
[0003]目前,较为常用Java语言类的数据层操作对象关系映射(Object Relational Mapping,ORM)框架有Hibernate以及Mybatis,Mybatis由于其框架轻巧以及使用灵活而应用广泛。但是,使用mybatis时需要根据数据表字段创建映射(mapper)文件,并且需要配置它们之间的依赖关系,这样的工作很琐碎和重复,虽然mybatis官方提供了工具辅助进行创建,但是这些工具仍然需要手动添加大量的配置参数,每次还需要手动执行才能够生成新的mapper文件,这个过程仍然比较繁琐。
[0004]因此,如何更为便捷的生成mapper文件时目前亟待解决的问题。

技术实现思路

[0005]本申请实施例提供一种数据库映射文件生成方法、装置、设备及存储介质,用于提升数据库映射文件的生成效率。
[0006]一方面,提供一种数据库映射文件生成方法,所述方法包括:
[0007]在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合;
[0008]创建实体类集合,并将所述至少一个元素集合存放至所述实体类集合中;
[0009]调用所述项目对象模型文件引入的映射文件生成插件,遍历所述实体类集合中的每一个数据库表,为每个数据库表生成相应的映射文件。
[0010]一方面,提供一种数据库映射文件生成装置,所述装置包括:
[0011]元素解析单元,用于在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合;
[0012]元素存放单元,用于创建实体类集合,并将所述至少一个元素集合存放至所述实体类集合中;
[0013]映射文件生成单元,用于调用所述项目对象模型文件引入的映射文件生成插件,遍历所述实体类集合中的每一个数据库表,为每个数据库表生成相应的映射文件。
[0014]可选的,所述装置还包括插件配置单元,用于:
[0015]响应于插件自定义操作,创建所述映射文件生成插件,并将所述映射文件生成插
件安装到Maven仓库,其中,所述映射文件生成插件继承指定抽象类;
[0016]创建所述目标Maven项目,并在所述项目对象模型文件中引入映射文件生成插件;
[0017]在所述项目对象模型文件中配置所述映射文件生成插件的资源属性,资源属性至少包括:所述实体关系图文件的读取地址以及生成的映射文件的输出地址。
[0018]可选的,所述元素解析单元,具体用于:
[0019]解析所述实体关系图文件中的数据库配置字段,获取所述目标数据库的类型信息;
[0020]解析所述实体关系图文件中各个列字段,并将解析得到的所述各个列字段各自对应的列标识和字段属性值,按照键值对的方式存储至字典文件中;
[0021]解析所述实体关系图文件中各个表格字段,并将解析得到的所述各个表格字段各自对应的表格标识和对象属性值,按照键值对的方式存储至表格文件中;
[0022]针对所述表格文件中的各个表格字段对应的表格进行解析,并将解析得到的各个内容转换为实体类。
[0023]可选的,所述元素解析单元,具体用于:
[0024]针对所述各个表格字段,分别执行如下操作:
[0025]针对每一表格字段对应的表格,解析该表格所包含的列字段,获取解析得到的各个列字段对应的列标识;
[0026]基于所述各个列字段对应的列标识,从所述字典文件中获取相应的字段属性值。
[0027]可选的,所述元素存放单元,具体用于:
[0028]创建数据库实体类、表格实体类以及列实体类;
[0029]将所述目标数据库的类型信息存放至所述数据库实体类中;
[0030]将所述表格文件包括的信息存放至所述表格实体类中;
[0031]将所述字典文件包括的信息存放至所述列实体类中。
[0032]可选的,
[0033]所述数据库实体类的属性包括表格列表信息;
[0034]所述表格实体类的属性包括:表格名称信息、普通列列表信息、主键列列表信息、唯一列列表信息和索引列列表信息;
[0035]所述列实体类的属性包括:所属表格名称信息、字段名称信息、字段类型信息、指示是否为主键的第一指示信息、指示是否能够为空的第二指示信息、字段描述信息和字段长度信息。
[0036]可选的,所述项目对象模型文件引入多个映射文件生成插件,每个映射文件生成插件对应一种数据库类型的映射文件的生成;
[0037]则所述映射文件生成单元,具体用于:
[0038]基于所述目标数据库的类型信息,从所述多个映射文件生成插件中确定出目标映射文件生成插件;
[0039]调用所述目标映射文件生成插件,遍历所述实体类集合中的每一个数据库表,为每个数据库表生成相应的映射文件。
[0040]可选的,所述映射文件生成单元,具体用于:
[0041]调用所述目标映射文件生成插件,基于为所述目标映射文件生成插件配置的生成
规则,以及所述实体类集合中的每一个数据库表的内容,生成相应的结构化查询语句;
[0042]基于每个数据库表的内容以及生成的各个结构化查询语句,为每个数据库表生成相应的映射文件。
[0043]一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。
[0044]一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
[0045]一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。
[0046]本申请实施例中,通过在项目对象模型文件中引入映射文件生成插件,当目标项目对象模型文件的项目编译过程中,触发映射文件生成插件对目标数据库对应的实体关系图文件进行解析,获得实体关系图文件包括的至少一个实体元素集合,并将至少一个元素集合存放至实体类本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库映射文件生成方法,其特征在于,所述方法包括:在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合;创建实体类集合,并将所述至少一个元素集合存放至所述实体类集合中;调用所述映射文件生成插件,遍历所述实体类集合中的每一个数据库表,为每个数据库表生成相应的映射文件。2.如权利要求1所述的方法,其特征在于,在项目对象模型文件的项目编译过程中,触发所述项目对象模型文件引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合之前,所述方法还包括:响应于插件配置操作,在开发平台软件中引入数据库设计模型插件;响应于实体关系创建操作,调用所述数据库设计模型插件,创建实体关系结构模型,所述实体关系结构模型用于表征目标数据库中实体和属性之间的依赖关系;响应于针对所述目标数据库的数据库导出操作,基于所述实体关系结构模型,将所述目标数据库的表结构信息导出,获得所述实体关系图文件。3.如权利要求1或者2所述的方法,其特征在于,在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合之前,所述方法还包括:响应于插件自定义操作,创建所述映射文件生成插件,并将所述映射文件生成插件安装到Maven仓库,其中,所述映射文件生成插件继承指定抽象类;创建所述目标Maven项目,并在所述项目对象模型文件中引入映射文件生成插件;在所述项目对象模型文件中配置所述映射文件生成插件的资源属性,资源属性至少包括:所述实体关系图文件的读取地址以及生成的映射文件的输出地址。4.如权利要求1所述的方法,其特征在于,在目标Maven项目编译过程中,触发所述目标Maven项目对应的项目对象模型文件中引入的映射文件生成插件,对目标数据库对应的实体关系图文件进行解析,获得所述实体关系图文件包括的至少一个实体元素集合,包括:解析所述实体关系图文件中的数据库配置字段,获取所述目标数据库的类型信息;解析所述实体关系图文件中各个列字段,并将解析得到的所述各个列字段各自对应的列标识和字段属性值,按照键值对的方式存储至字典文件中;解析所述实体关系图文件中各个表格字段,并将解析得到的所述各个表格字段各自对应的表格标识和对象属性值,按照键值对的方式存储至表格文件中;针对所述表格文件中的各个表格字段对应的表格进行解析,并将解析得到的各个内容转换为实体类。5.如权利要求4所述的方法,其特征在于,针对所述表格文件中的各个表格字段对应的表格进行解析,包括:针对所述各个表格字段,分别执行如下操作:针对每一表格字段对应的表格,解析该表格所包含的列字段,获取解析得到的各个列字段对应的列标识;
基于所述各个列字段对应的列标识,从所述字典文件中获取相应的字段属性值。6.如权利要求4所述的方法,其特征在于,所述创建实体类集合,并将所述至少一个元素集合存放至所述实体类集合中,包括:创建数据库实体类、表格实体类以及列实体...

【专利技术属性】
技术研发人员:张福到李琢付二建赵永波景雅雯董晓宁裴养
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1