一种基于JOOQ查询大批量表的方法与系统技术方案

技术编号:39007024 阅读:13 留言:0更新日期:2023-10-07 10:38
本申请提供了一种基于JOOQ查询大批量表的方法与系统,特征在于,S1、创建数据源工程,并对pom文件进行JOOQ相关依赖的配置;S2、对自动化测试框架需要查询的数据库进行配置以生成xml文件,将配置好的xml文件名引入pom文件build配置内;S3、新建一个jenkins任务定时触发数据源工程中的数据库表结构的生成命令和打包指令;S4、自动化测试框架的pom文件引入数据源工程的dependency,并在自动化测试框架内基于JOOQ查询方法对数据表进行查询并查看查询结果。通过本发明专利技术可以缩短项目编译的时间,快速实现数据库表结构映射为Java类,轻松实现对数据库的存储字段校验,减小框架代码的冗余度。度。度。

【技术实现步骤摘要】
一种基于JOOQ查询大批量表的方法与系统


[0001]本专利技术涉及计算机信息系统领域,尤其涉及一种基于JOOQ查询大批量表的方法与系统。

技术介绍

[0002]在日常自动化测试中,比如testNg框架中,接口的验证包括返回结果与数据库中的对应字段的比对,当涉及大量字段比对时,就需要用到JOOQ,它可以将数据库表结构映射为Java类,包含表的基本描述和所有表字段。通过JOOQ提供的API,配合生成的Java代码,可以很方便的进行数据库操作,但是JOOQ的代码生成策略是根据配置全量生成,每次运行程序都需要编译,当数据库含大量表时,就会内存溢出或者编译失败,就会导致项目无法运行,此时只能根据需要选择涉及到的主要表,无法进行全量生成。
[0003]因此,鉴于现有方案的上述缺陷,本专利技术提供了一种JOOQ查询大批量表的方法与系统,通过将JOOQ生成的数据单独创建工程,并上传至maven仓库。该方法能有效的解决编译过程中当数据库含大量表时内存溢出或者编译失败的问题,而且能大大节省编译的时间,快捷有效的实现自动化回归中关于数据库模块的验证,支持工程数千张表的引用,通过将JOOQ生成的数据单独创建工程,并上传至maven仓库,配置相应的数据库连接参数可以实现数千张表的自动生成,JOOQ生成数据单独作为一个工程后,就不需要运行代码时进行编译,从根源上解决编译内存溢出问题。
[0004]值得说明的是,本申请所涉及数据采集及转移行为都已经经过用户的同意,并且为申请人进行正常的经营活动所必需。并且对于采集后的数据申请人进行了匿名化、保密等脱敏处理,并相应设置了数据的访问权限以确保不会泄露用户的隐私,本申请涉及的数据合规措施仅做列举,其他相关的数据合规措施申请人也有设置。申请人所进行的数据处理活动符合数据安全法与个人信息保护法等法律法规的规定。

技术实现思路

[0005]为解决现有状况的不足,本专利技术针对以上
技术介绍
的缺陷,本专利技术提出了一种基于JOOQ查询大批量表的方法与系统。包括:
[0006]本申请第一方面提出了一种基于JOOQ查询大批量表的方法,其特征在于,包括:
[0007]S1、创建数据源工程,并对pom文件进行JOOQ相关依赖的第一配置;
[0008]S2、对自动化测试框架需要查询的数据库进行第二配置以生成xml文件,将配置好的xml文件名引入pom文件build配置内;
[0009]S3、新建一个jenkins任务定时触发数据源工程中的数据库表结构的生成命令和打包指令;
[0010]S4、自动化测试框架的pom文件引入数据源工程的dependency,并在自动化测试框架内基于JOOQ查询方法对数据表进行查询并查看查询结果。
[0011]进一步地,所述自动化测试框架包括testNg、junit、unittest自动化测试框架。
[0012]进一步地,所述自动化测试的数据库包括Oracle数据库、MySQL、SQLite、SQL数据库。
[0013]进一步地,所述S4包括获取数据表中的数据结构,根据数据结构找出主表以及从表,对主表以及从表构建关联关系。
[0014]进一步地,根据数据结构,找出返回的数据结构的顶层的数据表,以该数据表作为主表,数据结构中除主表以外的数据表为从表;将从表的主键与主表的外键进行关联,确定主表与从表的关联关系。
[0015]进一步地,所述S4还包括获取用户的查询条件以及过滤条件,根据查询条件以及过滤条件对数据表做查找运算,得到本次查询所使用的数据表;根据SQL的语法规范以及JOOQ的使用语法,动态地组装出本次查询需要的SQL将SQL发送至对应的数据库中,根据查询条件查询出需要的数据。
[0016]本申请第二方面提出了一种基于JOOQ查询大批量表的装置,其特征在于,包括:
[0017]数据源工程创建模块,用于创建数据源工程,并对pom文件进行JOOQ相关依赖的第一配置;
[0018]数据库配置模块,用于对自动化测试框架需要查询的数据库进行第二配置以生成xml文件,将配置好的xml文件名引入pom文件build配置内;
[0019]定时任务模块,用于新建一个jenkins任务定时触发数据源工程中的数据库表结构的生成命令和打包指令;
[0020]查询模块,用于自动化测试框架的pom文件引入数据源工程的dependency,并在自动化测试框架内基于JOOQ查询方法对数据表进行查询并查看查询结果。
[0021]本申请第三方面提出了一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
[0022]所述存储器存储计算机执行指令;
[0023]所述处理器执行所述存储器存储的计算机执行指令,以实现基于JOOQ查询大批量表的方法。
[0024]本申请第四方面提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现基于JOOQ查询大批量表的方法。
[0025]本申请第五方面提出了一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现基于JOOQ查询大批量表的方法。
[0026]本专利技术的有益效果为:通过将JOOQ生成的数据单独创建工程,并上传至maven仓库。该方法能有效的解决编译过程中当数据库含大量表时内存溢出或者编译失败的问题,而且能大大节省编译的时间,快捷有效的实现自动化回归中关于数据库模块的验证,支持工程数千张表的引用,通过将JOOQ生成的数据单独创建工程,并上传至maven仓库,配置相应的数据库连接参数可以实现数千张表的自动生成,JOOQ生成数据单独作为一个工程后,就不需要运行代码时进行编译,从根源上解决编译内存溢出问题。
附图说明
[0027]图1为本专利技术基于JOOQ查询大批量表的方法的流程图。
[0028]图2为本专利技术基于JOOQ查询大批量表的装置的结构框图。
[0029]图3为本专利技术的实施例提供的电子设备的结构示意图。
具体实施方式
[0030]为了更清楚的理解本专利技术的内容,将结合附图和实施例详细说明。
[0031]但是应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本专利技术。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0032]在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。本专利技术是已有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于JOOQ查询大批量表的方法,其特征在于,包括:S1、创建数据源工程,并对pom文件进行JOOQ相关依赖的第一配置;S2、对自动化测试框架需要查询的数据库进行第二配置以生成xml文件,将配置好的xml文件名引入pom文件build配置内;S3、新建一个jenkins任务定时触发数据源工程中的数据库表结构的生成命令和打包指令;S4、自动化测试框架的pom文件引入数据源工程的dependency,并在自动化测试框架内基于JOOQ查询方法对数据表进行查询并查看查询结果。2.根据权利要求1所述的方法,其特征在于,所述自动化测试框架包括testNg、junit、unittest自动化测试框架。3.根据权利要求1所述的方法,其特征在于,所述自动化测试的数据库包括Oracle数据库、MySQL、SQLite、SQL数据库。4.根据权利要求1所述的方法,其特征在于,所述S4包括获取数据表中的数据结构,根据数据结构找出主表以及从表,对主表以及从表构建关联关系。5.根据权利要求4所述的方法,其特征在于,根据数据结构,找出返回的数据结构的顶层的数据表,以该数据表作为主表,数据结构中除主表以外的数据表为从表;将从表的主键与主表的外键进行关联,确定主表与从表的关联关系。6.根据权利要求1所述的方法,其特征在于,所述S4还包括获取用户的查询条件以及过滤条件,根据查询条件以及过滤条件对数据表做查找运算,得到本次查询所使用的数据表;根据...

【专利技术属性】
技术研发人员:杜保平闫盛伦
申请(专利权)人:中信百信银行股份有限公司
类型:发明
国别省市:

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

1