CN113609138A - 一种类与数据库表的匹配方法、装置、设备及介质 - Google Patents
一种类与数据库表的匹配方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113609138A CN113609138A CN202111156991.9A CN202111156991A CN113609138A CN 113609138 A CN113609138 A CN 113609138A CN 202111156991 A CN202111156991 A CN 202111156991A CN 113609138 A CN113609138 A CN 113609138A
- Authority
- CN
- China
- Prior art keywords
- annotation
- target class
- database table
- class
- updating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的实施例提供一种类与数据库表的匹配方法、装置、设备及介质,通过利用电子设备对代码和数据库表的注释和/或注解进行对应的更新,即,通过从代码到数据库表的逐一自动对应更新,或者从数据表到代码的逐一自动对应更新,避免了人工查找更新造成的不准确,解决了类与数据库表的注释注解匹配难度高的技术问题,达到了使类与数据库表的注释注解高效且准确匹配的技术效果。
Description
技术领域
本发明涉及软件技术领域,具体涉及一种类与数据库表的匹配方法、装置、设备及介质。
背景技术
现有Java orm框架可通过正向工程从Java代码生成数据库表,也可以通过逆向工程从数据库表生成Java代码。根据编码规范性和数据库设计规范性的要求,代码需要添加明确的注释,数据库表也需要添加明确的注释。通常情况下,数据库表和Java对象存在一一对应的情况,即数据库表的字段与Java对象中的属性一一对应。因此,数据库表字段的注释和Java对象属性的注释也应该一一对应,但实际操作中,往往存在注释(或注解)缺失或不一致的情况。人工进行匹配不但效率低,且很难达到完全匹配正确的目的。
发明内容
本申请的主要目的在于提供一种类与数据库表的匹配方法、装置、设备及介质,解决现有类与数据库表的注释注解匹配难度高的技术问题。
为实现上述目的,本申请的实施例提供一种类与数据库表的匹配方法,用于电子设备,所述方法包括:
获取目标类的代码;
基于所述代码,检查所述目标类的注解和/或注释的存在情况;
根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
可选地,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,包括:
若所述目标类的注解存在,且所述目标类的注释不存在,则根据所述目标类的注解,生成所述目标类的注释。
对目标类的注释进行补充完善,通过注解生成注释,保证目标类的注释和注解完整准确,从而进一步保证后续数据库表匹配时的准确性和完整性。
可选地,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的注释存在,且所述目标类的注解不存在,则根据所述目标类的注释,生成所述目标类的注解。
对目标类注解进行补充完善,通过注释生成注解,保证目标类的注释和注解完整准确,从而进一步保证后续数据库表匹配时的准确性和完整性。
可选地,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的类属性的注解存在,且所述类属性注释不存在,则根据所述类属性的注解,生成所述类属性的注释。
对类属性的注释进行补充完善,通过注解生成注释,保证目标类的注释和注解完整准确,从而进一步保证后续数据库表匹配时的准确性和完整性。
可选地,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的类属性的注释存在,且所述类属性的注解不存在,则根据所述类属性的注释,生成所述类属性的注解。
对类属性的注解进行补充完善,通过注释生成注解,保证目标类的注释和注解完整准确,从而进一步保证后续数据库表匹配时的准确性和完整性。
可选地,所述基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释的步骤,包括:
判断所述更新目标类对应数据库表的存在情况;
根据所述更新目标类对应数据库表的存在情况,更新所述数据表,获得更新数据表;
判断所述更新数据表的注释存在情况;
根据所述更新目标类的注解和/或注释的存在情况,以及所述更新数据表的注释存在情况,更新所述更新数据表的注释。
由于更新目标类是包括完整准确注释和注解的代码,因此,基于更新目标类来更新数据库表以及所述数据库表的注释,可以获得更为完整准确的数据库表,达到类与数据库表完全匹配的目的。
此外,为实现上述目的,本申请的实施例还提供一种类与数据库表的匹配方法,用于电子设备,所述方法包括:
获取数据库表资源以及代码模板;
基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
获取所述更新目标类的注解和/或注释的存在情况;
根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
可选地,所述根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性的步骤,包括:
若所述数据库表对应代码不存在,则根据所述数据库表资源,新增所述数据库表对应的目标类代码和目标类属性代码。
根据所述数据库表与代码的对应情况,核对代码情况,并在代码不存在时,对目标类和类属性的代码进行补充完善,从而进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
可选地,所述根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性的步骤,还包括:
若所述数据库表对应代码存在,则根据所述数据库表资源,修改所述数据库表对应的目标类代码和目标类属性代码。
根据所述数据库表与代码的对应情况,核对代码情况,并在代码存在时,对目标类和类属性的代码进行更新完善,从而进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
可选地,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,包括:
若所述更新目标类的注解存在,则根据所述数据库表的注释,修改所述更新目标类的注解。
在更新完代码后,为了实现根据数据库表对代码的准确匹配,还需要更新目标类的注解和/或注释,在更新目标类的注解存在的情况下,更新目标类的注解,可进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
可选地,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注解不存在,则根据所述数据库表的注释,新增所述更新目标类的注解。
在更新目标类的注解不存在的情况下,新增目标类的注解,可进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
可选地,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注释不存在,则根据所述更新目标类的注解,新增所述更新目标类的注释。
在更新目标类的注释不存在的情况下,新增目标类的注释,可进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
可选地,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注释存在,则根据所述更新目标类的注解,修改所述更新目标类的注释。
在更新目标类的注释存在的情况下,更新目标类的注释,可进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
此外,为实现上述目的,本申请的实施例还提供一种类与数据库表的匹配装置,用于电子设备,所述装置包括:
代码获取模块,用于获取目标类的代码;
类检查模块,用于基于所述代码,检查所述目标类的注解和/或注释的存在情况;
第一类更新模块,用于根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
数据库表更新模块,用于基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
此外,为实现上述目的,本申请的实施例还提供一种类与数据库表的匹配装置,用于电子设备,所述装置包括:
数据库表获取模块,用于获取数据库表资源以及代码模板;
代码检查模块,用于基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
第二类更新模块,用于根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
第一获取模块,用于获取所述更新目标类的注解和/或注释的存在情况;
第三类更新模块,用于根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
此外,为实现上述目的,本申请还提供一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现前述的方法。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现前述的方法。
此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品在被处理器时,实现前述的方法。
与现有技术相比,本发明的有益效果在于:
本申请的实施例提供一种类与数据库表的匹配方法、装置、设备及介质,通过利用电子设备对代码和数据库表的注释和/或注解进行对应的更新,即,通过从代码到数据库表的逐一自动对应更新,或者从数据表到代码的逐一自动对应更新,避免了人工查找更新造成的不准确,解决了类与数据库表的注释注解匹配难度高的技术问题,达到了使类与数据库表的注释注解高效且准确匹配的技术效果。
附图说明
图1为本申请的实施例涉及的硬件运行环境的电子设备结构示意图;
图2为本申请的实施例提供的一种类与数据库表的匹配方法的流程示意图;
图3为本申请的实施例提供的另一种类与数据库表的匹配方法的流程示意图;
图4为本申请的实施例提供的一种类与数据库表的匹配装置的功能模块示意图;
图5为本申请的实施例提供的另一种类与数据库表的匹配装置的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:提供一种类与数据库表的匹配方法,用于电子设备,所述方法包括:获取目标类的代码;基于所述代码,检查所述目标类的注解和/或注释的存在情况;根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。或,
所述方法包括:获取数据库表资源以及代码模板;基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;获取所述更新目标类的注解和/或注释的存在情况;根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
由于现有技术采用人工进行匹配,不但效率低,且由于人为的不确定性,导致很难达到完全匹配正确的目的。
本申请提供一种解决方案,通过利用电子设备对代码和数据库表的注释和/或注解进行对应的更新,即,通过从代码到数据库表的逐一自动对应更新,或者从数据表到代码的逐一自动对应更新,避免了人工查找更新造成的不准确,解决了类与数据库表的注释注解匹配难度高的技术问题,达到了使类与数据库表的注释注解高效且准确匹配的技术效果。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的类与数据库表的匹配装置,并执行本申请实施例提供的类与数据库表的匹配方法。
可以理解的是,现有程序框架(例如Java orm)可通过正向工程从代码生成数据库表,也可以通过逆向工程从数据库表生成代码。因此,在类与数据库表的匹配过程中也可以分为正向工程和逆向工程的情况。下面以具体的实施例来进行逐一说明。
参照图2,本申请的实施例提供一种类与数据库表的匹配方法,用于电子设备,在本实施例中,通过正向工程进行类与数据库表的匹配。
所述方法包括:
S20、获取目标类的代码;
在具体实施过程中,类(Class)是面向对象程序设计实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。在本实施例中,可以针对多种编程语言对应的类,因此,目标类只是其中的一种编程语言对应的类,例如Java类,在本实施例中以Java类为例进行说明。
S40、基于所述代码,检查所述目标类的注解和/或注释的存在情况;
在具体实施过程中,注解的英名为Annotation,它是JDK5.0及以后版本引入的一个特性。与类、接口、枚举是在同一个层次,可以成为java 的一个类型。用一个词描述注解------元数据,它是一种描述数据的数据。所以,可以说注解就是源代码的元数据。注释是对源代码作介绍、评议或说明的文字。
具体的,要进行类与数据库表的匹配,检查代码规范性,以便于对目标类进行补充完善,以保证数据库表生成时的准确性。
检查分为类检查和属性检查,以java类为例,具体的检查步骤如下:
步骤1.1类检查:
步骤1.1.1:检查类注解和注释是否同时存在。不存在时,跳转步骤1.1.2;存在时,跳转步骤1.2。
步骤1.1.2:检查类是否类注解存在,类注释不存在。当仅有类注解存在时,跳转步骤1.1.3;否则,跳转步骤1.1.4。
步骤1.1.3:根据类注解生成注释。
步骤1.1.4:检查类是否类注释存在,类注解不存在。当仅有类注释存在时,跳转步骤1.1.5;否则,跳转步骤1.1.6。
步骤1.1.5:根据类注释生成注解。
步骤1.1.6:提示编辑类注解或注释。自动生成过程结束,可以人工介入,进行代码的完善。
步骤1.2:属性检查。
步骤1.2.1:检查类属性注解和注释是否同时存在。不存在时,跳转步骤1.2.2;存在时,跳转步骤2。
步骤1.2.2:检查类属性是否注解存在,注释不存在。当仅有属性注解时,跳转步骤1.2.3;否则,跳转步骤1.2.4。
步骤1.2.3:根据属性注解生成注释。
步骤1.2.4:检查类属性是否注释存在,注解不存在。但仅有属性注释时,跳转步骤1.2.5;否则,跳转步骤1.2.6。
步骤1.2.5:根据属性注释生成注解。
步骤1.2.6:提示编辑属性注解或注释。自动生成过程结束,可以人工介入,进行代码的完善。
因此,基于步骤1.1和步骤1.2,可以完成检查所述目标类的注解和/或注释的存在情况。接下来根据目标类的注解和/或注释的存在情况,执行S60。
S60、根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
在具体实施过程中,在本实施例中,在对目标类的代码进行检查时,包括类本身以及类属性,因此,为了保证代码规范性,以便于对目标类进行补充完善,以保证数据库表生成时的准确性,根据上述检查情况,可以分为以下几种情况:
在一种实施方式中,若所述目标类的注解存在,且所述目标类的注释不存在,则根据所述目标类的注解,生成所述目标类的注释。
在一种实施方式中,若所述目标类的注释存在,且所述目标类的注解不存在,则根据所述目标类的注释,生成所述目标类的注解。
在一种实施方式中,若所述目标类的类属性的注解存在,且所述类属性注释不存在,则根据所述类属性的注解,生成所述类属性的注释。
在一种实施方式中,若所述目标类的类属性的注释存在,且所述类属性的注解不存在,则根据所述类属性的注释,生成所述类属性的注解。
可以理解的是,分别对目标类和类属性的注解和注释进行补充完善,通过注解生成注释,或通过注释生成注解,保证目标类的注释和注解完整准确,从而进一步保证后续数据库表匹配时的准确性和完整性。
S80、基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
在具体实施过程中,更新目标类是包括完整准确注释和注解的代码,因此,基于更新目标类来更新数据库表以及所述数据库表的注释,可以获得完整准确的数据库表,达到类与数据库表完全匹配的目的。
具体的,所述基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释的步骤,包括:
判断所述更新目标类对应数据库表的存在情况;
根据所述更新目标类对应数据库表的存在情况,更新所述数据表,获得更新数据表;具体的,当不存在时,新增Java类和属性对应的数据库表;当存在时,修改Java类和属性对应的数据库表。
判断所述更新数据表的注释存在情况;
根据所述更新目标类的注解和/或注释的存在情况,以及所述更新数据表的注释存在情况,更新所述更新数据表的注释。具体的,当不存在时,新增数据库表和列注释;当存在时,修改数据库表和列注释。
应当理解的是,以上仅为举例说明,对本申请的技术方案并不构成任何限制,本领域的技术人员在实际应用中可以基于需要进行设置,此处不做限制。
通过上述描述不难发现,本实施例的方法在正向工程中,利用电子设备首先对代码进行完善,然后根据完善后的代码对数据库表的注释和/或注解进行对应的更新,即,通过从代码到数据库表的逐一自动对应更新,达到了类与数据库表的逐一更新,避免了人工查找更新造成的不准确,解决了类与数据库表的注释注解匹配难度高的技术问题,达到了使类与数据库表的注释注解高效且准确匹配的技术效果。
参照图3,基于前述实施例同样的发明原理,本申请的实施例还提供一种类与数据库表的匹配方法,用于电子设备,在本实施例中,通过反向工程进行类与数据库表的匹配。
所述方法包括:
S100、获取数据库表资源以及代码模板;
在具体实施过程中,数据库表资源是指数据库中所有表的信息,包括数据库表和其对应的注释,通过自动化工具从数据库中获取。
在本实施例中,也以Java类为例进行说明。由于代码模板决定了自动生成的Java代码格式,根据代码模板和数据库表结构可以进行类与数据库表的匹配和生成。
S200、基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
在具体实施过程中,为了实现根据数据库表对代码的准确匹配,需要首先数据库表对应代码的存在情况。
S300、根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
在具体实施过程中,由于在对目标类的代码包括类本身以及类属性,因此,在更新代码时,为了保证一致性,更新所述数据库表对应的目标类和目标类属性。因此,获得的更新目标类包括更新后的目标类和更新后的目标类属性。
需要说明的是,步骤S300的执行过程与步骤S200的结果息息相关,因此,这里直接结合步骤S200的结果可能情况,对步骤S300的执行过程进行详细阐述。
可能的实施方式包括:
在一种实施方式中,若所述数据库表对应代码不存在,则根据所述数据库表资源,新增所述数据库表对应的目标类代码和目标类属性代码。
在具体实施过程中,可以根据数据库表名生成类名,数据库列名生成属性名,数据库列类型生成属性类型。
在一种实施方式中,若所述数据库表对应代码存在,则根据所述数据库表资源,修改所述数据库表对应的目标类代码和目标类属性代码。
在具体实施过程中,同样可以根据数据库表名生成类名,数据库列名生成属性名,数据库列类型生成属性类型。
可以理解的是,在分别对目标类和类属性的代码进行补充完善,从而进一步保证后续目标类和类属性的注释和注解生成时的准确性和完整性。
S400、获取所述更新目标类的注解和/或注释的存在情况;
在具体实施过程中,在更新完代码后,为了实现根据数据库表对代码的准确匹配,还需要更新目标类的注解和/或注释,因此需要获取所述更新目标类的注解和/或注释的存在情况。
S500、根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
在具体实施过程中,更新目标类的更新也分为目标类和类属性。具体的,可能的实施方式包括:
在一种实施方式中,若所述更新目标类的注解存在,则根据所述数据库表的注释,修改所述更新目标类的注解。具体的,修改所述更新目标类的注解包括修改Java类和属性注解,可以根据数据库表注释生成类注解,数据库列注释生成属性注解。
在一种实施方式中,若所述更新目标类的注解不存在,则根据所述数据库表的注释,新增所述更新目标类的注解。具体的,新增所述更新目标类的注解包括新增Java类和属性注解,可以根据数据库表注释生成类注解,数据库列注释生成属性注解。
在一种实施方式中,若所述更新目标类的注释不存在,则根据所述更新目标类的注解,新增所述更新目标类的注释。具体的,新增所述更新目标类的注释包括新增Java类和属性注释,可以根据类注解生成类注释,属性注解生成属性注释。
在一种实施方式中,若所述更新目标类的注释存在,则根据所述更新目标类的注解,修改所述更新目标类的注释。具体的,修改所述更新目标类的注释包括修改Java类和属性注释,可以根据类注解生成类注释,属性注解生成属性注释。
应当理解的是,以上仅为举例说明,对本申请的技术方案并不构成任何限制,本领域的技术人员在实际应用中可以基于需要进行设置,此处不做限制。
通过上述描述不难发现,本实施例的方法在反向工程中,利用电子设备首先根据数据库表对代码进行完善,然后根据完善后的代码对代码的注释和/或注解进行对应的更新,即,通过从数据库表到代码的逐一自动对应更新,达到了类与数据库表的逐一更新,避免了人工查找更新造成的不准确,解决了类与数据库表的注释注解匹配难度高的技术问题,达到了使类与数据库表的注释注解高效且准确匹配的技术效果。
参照图4,基于前述实施例同样的发明原理,本申请的实施例还提供一种类与数据库表的匹配装置,用于电子设备,包括:
代码获取模块,用于获取目标类的代码;
类检查模块,用于基于所述代码,检查所述目标类的注解和/或注释的存在情况;
第一类更新模块,用于根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
数据库表更新模块,用于基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
需要说明的是,本实施例中图像识别装置中各模块是与前述实施例中的图像识别方法中的各步骤一一对应,因此,本实施例的具体实施方式可参照前述图像识别方法的实施方式,这里不再赘述。
参照图5,基于前述实施例同样的发明原理,本申请的实施例还提供一种类与数据库表的匹配装置,用于电子设备,包括:
数据库表获取模块,用于获取数据库表资源以及代码模板;
代码检查模块,用于基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
第二类更新模块,用于根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
第一获取模块,用于获取所述更新目标类的注解和/或注释的存在情况;
第三类更新模块,用于根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
需要说明的是,本实施例中图像识别装置中各模块是与前述实施例中的图像识别方法中的各步骤一一对应,因此,本实施例的具体实施方式可参照前述图像识别方法的实施方式,这里不再赘述。
此外,为实现上述目的,本申请还提供一种电子设备,该电子设备包括处理器,存储器以及存储在所述存储器中的计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法的步骤。
此外,为实现上述目的,在一种实施例中,本申请还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法的步骤。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (17)
1.一种类与数据库表的匹配方法,其特征在于,用于电子设备,所述方法包括:
获取目标类的代码;
基于所述代码,检查所述目标类的注解和/或注释的存在情况;
根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,包括:
若所述目标类的注解存在,且所述目标类的注释不存在,则根据所述目标类的注解,生成所述目标类的注释。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的注释存在,且所述目标类的注解不存在,则根据所述目标类的注释,生成所述目标类的注解。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的类属性的注解存在,且所述类属性注释不存在,则根据所述类属性的注解,生成所述类属性的注释。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新的步骤,还包括:
若所述目标类的类属性的注释存在,且所述类属性的注解不存在,则根据所述类属性的注释,生成所述类属性的注解。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释的步骤,包括:
判断所述更新目标类对应数据库表的存在情况;
根据所述更新目标类对应数据库表的存在情况,更新所述数据表,获得更新数据表;
判断所述更新数据表的注释存在情况;
根据所述更新目标类的注解和/或注释的存在情况,以及所述更新数据表的注释存在情况,更新所述更新数据表的注释。
7.一种类与数据库表的匹配方法,其特征在于,用于电子设备,所述方法包括:
获取数据库表资源以及代码模板;
基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
获取所述更新目标类的注解和/或注释的存在情况;
根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
8.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性的步骤,包括:
若所述数据库表对应代码不存在,则根据所述数据库表资源,新增所述数据库表对应的目标类代码和目标类属性代码。
9.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性的步骤,还包括:
若所述数据库表对应代码存在,则根据所述数据库表资源,修改所述数据库表对应的目标类代码和目标类属性代码。
10.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,包括:
若所述更新目标类的注解存在,则根据所述数据库表的注释,修改所述更新目标类的注解。
11.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注解不存在,则根据所述数据库表的注释,新增所述更新目标类的注解。
12.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注释不存在,则根据所述更新目标类的注解,新增所述更新目标类的注释。
13.根据权利要求7所述的方法,其特征在于,所述根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释的步骤,还包括:
若所述更新目标类的注释存在,则根据所述更新目标类的注解,修改所述更新目标类的注释。
14.一种类与数据库表的匹配装置,其特征在于,用于电子设备,所述装置包括:
代码获取模块,用于获取目标类的代码;
类检查模块,用于基于所述代码,检查所述目标类的注解和/或注释的存在情况;
第一类更新模块,用于根据所述目标类的注解和/或注释的存在情况,对所述目标类的注解和/或注释进行更新,获得更新目标类;
数据库表更新模块,用于基于所述更新目标类,更新所述目标类对应的数据库表以及所述数据库表的注释。
15.一种类与数据库表的匹配装置,其特征在于,用于电子设备,所述装置包括:
数据库表获取模块,用于获取数据库表资源以及代码模板;
代码检查模块,用于基于所述代码模板和所述数据库表资源,获取所述数据库表对应代码的存在情况;
第二类更新模块,用于根据所述数据库表对应代码的存在情况,以及所述数据库表资源,更新所述数据库表对应的目标类和目标类属性,获得更新目标类;
第一获取模块,用于获取所述更新目标类的注解和/或注释的存在情况;
第三类更新模块,用于根据所述数据库表资源,以及所述注解和/或注释的存在情况,更新所述更新目标类的注解和/或注释。
16.一种电子设备,其特征在于,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如权利要求1-6或7-13中任一项所述的方法。
17.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现如权利要求1-6或7-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156991.9A CN113609138B (zh) | 2021-09-30 | 2021-09-30 | 一种类与数据库表的匹配方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156991.9A CN113609138B (zh) | 2021-09-30 | 2021-09-30 | 一种类与数据库表的匹配方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609138A true CN113609138A (zh) | 2021-11-05 |
CN113609138B CN113609138B (zh) | 2022-01-25 |
Family
ID=78343284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111156991.9A Active CN113609138B (zh) | 2021-09-30 | 2021-09-30 | 一种类与数据库表的匹配方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609138B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2182435A1 (fr) * | 2008-10-31 | 2010-05-05 | Alcatel Lucent | Procédé d'implémentation d'une machine à états finis via l'utilisation d'annotations Java |
CN103412749A (zh) * | 2013-07-29 | 2013-11-27 | 福建联迪商用设备有限公司 | 一种基于关系型数据库的代码生成方法及代码生成器 |
CN103853759A (zh) * | 2012-12-03 | 2014-06-11 | 方正国际软件(北京)有限公司 | 一种自适应表单的生成方法及系统 |
CN106648587A (zh) * | 2016-09-28 | 2017-05-10 | 福州宇嘉软件科技有限公司 | 一种基于注解的Web应用代码生成方法 |
CN106844643A (zh) * | 2017-01-13 | 2017-06-13 | 王洋 | 一种基于模板引擎的数据库动态生成方法 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
CN110471694A (zh) * | 2019-07-11 | 2019-11-19 | 平安普惠企业管理有限公司 | 注释信息处理方法、装置、计算机设备及存储介质 |
CN110825369A (zh) * | 2019-11-07 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种基于java语言的代码自动生成的方法 |
CN110968307A (zh) * | 2018-09-29 | 2020-04-07 | 北京数聚鑫云信息技术有限公司 | 一种基于智能生成基础代码的微服务构建方法及装置 |
CN112000320A (zh) * | 2020-08-27 | 2020-11-27 | 中国平安财产保险股份有限公司 | 自动化代码生成方法、装置、设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111156991.9A patent/CN113609138B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2182435A1 (fr) * | 2008-10-31 | 2010-05-05 | Alcatel Lucent | Procédé d'implémentation d'une machine à états finis via l'utilisation d'annotations Java |
CN103853759A (zh) * | 2012-12-03 | 2014-06-11 | 方正国际软件(北京)有限公司 | 一种自适应表单的生成方法及系统 |
CN103412749A (zh) * | 2013-07-29 | 2013-11-27 | 福建联迪商用设备有限公司 | 一种基于关系型数据库的代码生成方法及代码生成器 |
CN106648587A (zh) * | 2016-09-28 | 2017-05-10 | 福州宇嘉软件科技有限公司 | 一种基于注解的Web应用代码生成方法 |
CN106844643A (zh) * | 2017-01-13 | 2017-06-13 | 王洋 | 一种基于模板引擎的数据库动态生成方法 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
CN110968307A (zh) * | 2018-09-29 | 2020-04-07 | 北京数聚鑫云信息技术有限公司 | 一种基于智能生成基础代码的微服务构建方法及装置 |
CN110471694A (zh) * | 2019-07-11 | 2019-11-19 | 平安普惠企业管理有限公司 | 注释信息处理方法、装置、计算机设备及存储介质 |
CN110825369A (zh) * | 2019-11-07 | 2020-02-21 | 四川长虹电器股份有限公司 | 一种基于java语言的代码自动生成的方法 |
CN112000320A (zh) * | 2020-08-27 | 2020-11-27 | 中国平安财产保险股份有限公司 | 自动化代码生成方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
E WONG等: "Autocomment:mining question and answer sites for automatic comment generation", 《2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ONAUTOMATED SOFTWARE ENGINEERING》 * |
WANGBIN316: "java项目中在mysql表中通过注解生成comment注释", 《HTTPS://BLOG.CSDN.NET/WANGBIN316/ARTICLE/DETAILS/112258747》 * |
林钰杰等: "基于整合框架的Web应用系统开发平台设计与实现", 《电子设计工程》 * |
瞿华: "一种基于源码分析和代码生成的ORM开发工具——EasyPersist", 《电脑知识与技术》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609138B (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933571B (zh) | 数据库设计文档生成方法、装置及计算机可读存储介质 | |
US20130332449A1 (en) | Generating data processing code from a directed acyclic graph | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN106406844B (zh) | 实现通讯交互平台公众号菜单的方法和装置 | |
CN104679500B (zh) | 实体类自动生成实现方法及装置 | |
CN110825430A (zh) | 一种api文档生成方法、装置、设备及存储介质 | |
CN111026670A (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN111459495A (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
CN114741070A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN111814449B (zh) | 表单解析方法、装置、设备及存储介质 | |
CN112000320A (zh) | 自动化代码生成方法、装置、设备及存储介质 | |
CN110941779A (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN113961196A (zh) | 一种自动生成代码方法、装置、设备及可读存储介质 | |
CN114138748A (zh) | 数据库映射文件生成方法、装置、设备及存储介质 | |
CN112286784B (zh) | 一种测试用例生成方法、装置、服务器及存储介质 | |
CN109429260B (zh) | 一种北向数据的校验方法及装置 | |
CN113609138B (zh) | 一种类与数据库表的匹配方法、装置、设备及介质 | |
CN112328241B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN110866007B (zh) | 大数据应用和表的信息管理方法、系统和计算机设备 | |
CN113126998B (zh) | 一种增量源码获取方法、装置、电子设备及存储介质 | |
CN111399842B (zh) | 一种代码编译方法及装置 | |
CN111400396A (zh) | 数据同步脚本的生成方法、装置及计算机可读存储介质 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
CN111459933A (zh) | Gdb数据动态扩展方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |