CN116431669A - 基于Mybatis的数据处理方法、装置、计算机设备及存储介质 - Google Patents
基于Mybatis的数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116431669A CN116431669A CN202310685420.7A CN202310685420A CN116431669A CN 116431669 A CN116431669 A CN 116431669A CN 202310685420 A CN202310685420 A CN 202310685420A CN 116431669 A CN116431669 A CN 116431669A
- Authority
- CN
- China
- Prior art keywords
- data
- mybatis
- database
- database operation
- interceptor
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 37
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000004458 analytical method Methods 0.000 claims abstract description 77
- 238000010367 cloning Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 6
- 238000013500 data storage Methods 0.000 abstract description 2
- 230000007547 defect Effects 0.000 abstract description 2
- 238000007789 sealing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 239000000243 solution Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000002427 irreversible effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及数据处理领域,公开了一种基于Mybatis的数据处理方法、装置、计算机设备及存储介质,该方法包括:当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;对所述克隆数据进行所述解析操作得到解析结果;将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。可以兼容Mybatis和之外的数据库处理插件,并针对Mybatis插件的特性,适应性扩展功能,并避开Mybatis plus参数封闭的缺陷对拦截的数据库操作数据进行解析以及后续的处理。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于Mybatis的数据处理方法、装置、计算机设备及存储介质。
背景技术
灵活的Mybatis***可以实现任意数据库操作的拦截。Mybatis-Plus的条件构造器更让纯 Java 操作数据库成为可能,但因为条件构造器的深度封装,使得基于条件构造器的数据库操作,再附加自定义逻辑的***变得困难重重。过浅的拦截,无法实现业务逻辑,过深的拦截,则会破坏条件构造器,导致 Mybatis-Plus工作不正常,甚至会影响业务的工作流程,使得原本便利的工具影响整个***的正常运行。
发明内容
第一方面,本申请提供一种基于Mybatis的数据处理方法,包括:
当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;
对所述克隆数据进行所述解析操作得到解析结果;
将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
进一步的,所述方法还包括:
当向数据库会话注入自定义***时,解析所述自定义***的执行逻辑,根据所述执行逻辑,确定各个自定义***的注册顺序;
当拦截所述数据库会话中的数据库操作数据时,按照所述注册顺序执行对应的所述自定义***。
进一步的,所述根据所述执行逻辑,确定各个自定义***的注册顺序,包括:
确定各个所述***中是否对所述目标格式数据包进行克隆操作的执行逻辑,并确定会进行预编译执行逻辑的***;
将存在对所述目标格式数据包进行克隆操作的执行逻辑的***设置在优先执行的位置,将具有预编译执行逻辑的***设置在低优先执行的位置,从而得到注册顺序。
进一步的,所述方法还包括:
若所拦截的数据库操作数据不是所述目标格式数据包时,则结合业务需求,直接对所述数据库操作数据进行解析和对应的业务逻辑操作。
进一步的,所述将所述解析结果附加在所述数据库操作数据中,包括:
在所述数据库操作数据中添加解析字段,将所述解析结果写入所述解析字段中,得到更新后的数据库操作数据。
进一步的,所述目标格式数据包为Mybatis plus的数据包封装。
进一步的,所述判断所拦截的数据库操作数据是否为目标格式数据包,包括:
获取所述数据库操作数据的入参类型以及映射语句的资源类型,以判断所述***拦截到的数据类型是否是所述目标格式数据包。
第二方面,本申请还提供一种基于Mybatis的数据处理装置,包括:
判断模块,用于当通过***拦截的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;
解析模块,用于对所述克隆数据进行所述解析操作得到解析结果;
附加模块,用于将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
第三方面,本申请还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的基于Mybatis的数据处理方法。
第四方面,本申请还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的基于Mybatis的数据处理方法。
本发明公开了一种基于Mybatis的数据处理方法、装置、计算机设备及存储介质,该方法包括:当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;对所述克隆数据进行所述解析操作得到解析结果;将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。本申请的技术方案可以兼容Mybatis和之外的数据库处理插件,并针对Mybatis plus的特性,适应性扩展功能,并避开Mybatis plus的缺陷对拦截的数据库操作数据进行解析以及后续的处理,使得在使用Mybatis 插件进行数据库处理时,可以同时进行数据分析和数据修改,确保了业务逻辑的执行。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例一种基于Mybatis的数据处理方法流程示意图;
图2示出了本申请实施例一种***运作原理示意图;
图3示出了本申请实施例一种***执行顺序确定流程示意图;
图4示出了本申请实施例一种基于Mybatis的数据处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
本申请的技术方案应用于基于Mybatis 插件的数据库处理流程,在实际的业务场景和开发场景中,为了简化对数据库操作数据的处理,会使用上述插件来代替编写数据库语句,但是该插件在拦截数据进行解析时,会对数据造成不可逆的破坏。因此本申请针对Mybatis***拦截数据库操作数据过程中的操作,对拦截下来的目标格式数据进行克隆,并提供一个可以自定义***处理顺序的解决方案,使得在使用Mybatis 插件进行数据库处理时,可以规避该插件本身带来的问题,同时也可以获取数据以及对应的解析结果,以执行后续的数据处理或者业务操作。
实际应用场景中,按***的特性,对***的注册顺序进行排序。当通过***拦截的数据库操作和数据进行解析时,识别***所拦截到的数据库操作类型,对参数或返回结果实现特定的业务逻辑处理。
接下来以具体的实施例说明本申请的技术方案。
实施例1
如图1所示,本实施例的基于Mybatis的数据处理方法包括:
步骤S100,当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据。
***是一种应用于数据库和应用***之间的插件工具,***的种类繁多,不同的***有不同特性,但是总的来讲,***是一种用于简化用户进行数据库操作的插件工具,使得本来需要编写数据库语言进行的数据库操作可以通过其他编程语言实现,例如使用java进行数据库操作,从而方便开发对数据库的各种操作,并方便业务***实现各种业务上对数据库的操作。而***通常都是注入数据库和业务***之间的会话当中,以一定的逻辑顺序运行,从而拦截得到相应的数据,并根据业务代码中的逻辑进行相应的数据操作,从而实现上述的使用其他编程语言进行数据库操作数据操作的效果。例如***可以拦截到服务器向数据库发送的数据库操作数据,这类数据库操作数据包含数据库操作语句以及对应的操作对象,拦截到这类数据后,***可以根据自身的算法逻辑进行相应的拓展操作。
例如某种***是专门用于拦截用户密码并进行加密处理的,则该***在拦截到数据后,发现有密码的字段,则专门对该密码进行解析然后根据解析结果进行相应的加密操作。
如图2所示,为在进行数据库操作时,***运作原理示意图。
通过数据库代理入口来操控***进行后续的一系列数据库操作,而这些数据库操作分为了多个子步骤,如图中示意出来的内部执行器配置、预编译配置、设置预编译参数、查询处理结果、数据转换和数据库操作。这里的每一步中其实都可以配置一些***去进行一些相关的数据操作。例如内部执行器配置这里就是通过执行器对***进行的配置,实现对***执行顺序的控制,而数据库操作则是具体根据代码逻辑进行数据库的增删改查操作,并返回相应的查询数据到后端进行进一步操作,而其中还会经过一些步骤,在这些步骤中可以增加***拦截数据以对数据进行相应的业务操作。可见***可以适用于多种场景和步骤中。
在针对使用 XML 方式、通过注解形式,或通过 MyBatis Plus, 但未使用Wrapper 的参数封闭场景操作数据库,此类情况下,***拦截到的参数,可以在***中进行识别,进一步对入参和出参数进行处理,以完成特定的业务需求。
在***识别到数据库操作方式和参数为Mybatis Plus的Wrapper数据包时,会将其拦截得到的数据直接克隆一份,从而得到一份克隆数据,参数分析通过克隆数据进行,确认业务操作逻辑后,对数据封装的本体进行改变,以确保数据数据封装体内的行为方法对数据造成不可逆转的影响。
其中,数据库操作数据不仅仅指对数据库的操作指令,还会包括和该操作指令相关的一些数据库数据,例如即将存入数据库的数据或者要对数据库内部进行计算的数据等,即在本实施例中,数据库操作数据指的是操作指令的操作对象数据。
可以理解,在实际的工作场景中,对于数据库操作数据往往会需要分析操作甚至修改操作,若是单纯的分析操作,得到分析结果后不需要再进行修改,则数据库操作数据是否可用都无关紧要,对于那些在既要分析又要修改的数据,则需要保证拦截且分析后,还可以使用,因此本实施例中克隆即复制一份拦截出来的数据,从而得到了两份一模一样的数据,使得可以对一份数据进行分析,然后再对另一份数据进行对应的修改操作。
步骤S200,对所述克隆数据进行所述解析操作得到解析结果。
因为Mybatis***拦截到 Mybatis Plus 的 Wrapper数据包封装的场景时,***会根据自身算法,对其数据进行解析时,会使得该数据遭受不可逆的影响,从而在得到解析结果的时候,无法再进一步对拦截得到的数据进行二次操作,因此会需要进行克隆操作,得到克隆数据后,再对克隆数据进行对应的解析操作,从而得到解析结果,因为解析操作实际上也是实用Mybatis plus的方法进行,所以克隆数据会代替原生数据被销毁丢弃掉,最后会留下拦截得到的原生数据以及解析结果。
具体而言,以向数据库内存数据的操作为例,在经过业务***操作,需要将某个用户的用户数据存入数据库中,此时按照***内的要求,会需要对数据进行特定的业务逻辑加工,并存入对应的位置中,例如数据加密等操作。以加密为例,可以理解,针对不同的数据,往往会有不同的加密方法,并且数据在存入数据库中时,会需要依照一定的规则进行存储,因此会需要对该数据进行解析,确定数据的种类和加密方法,然后再进行加密操作。本实施例使用Mybatis ***获取该数据以在该数据存入数据库前,完成解析和加密操作,而通过Mybatis plus的解析会使得数据无法使用,所以通过克隆一份数据,对该数据进行解析,确定该数据的加密方法和存储位置。该加密方法和存储位置及解析结果。
步骤S300,将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
得到了解析结果后,因为该解析结果和数据库操作数据本身的后续操作相关,因此会将该解析结果附加如原生的数据库操作数据中,因为解析操作已经在克隆数据上操作过了,所以原生的数据库操作数据还是保留的,可以被用于后续的操作。
具体的,会为该原生数据库操作数据创建一个新的字段,然后将该解析结果写入该字段中。
因为数据在传输的过程中,是以数据包的形式存在的,因此其数据本身会有一定的格式结构,所以为了使得该原生的数据库操作数据带上解析结果这一信息,可以在该数据包中新增解析结果这个字段,以将解析结果和该数据库操作数据绑定起来。
可以理解,即便***拦截的数据不是Mybatis plus的Wrapper数据包,那么在直接对数据进行解析后,也会将解析结果附着在数据上。
此外,也可以将该解析结果和原生的数据库操作数据拼接在一起再在外层重新打包成一个新的数据包,这样在后续处理该数据包时,可以通过两次解包操作分别读取到解析结果和数据库操作数据,且因为解析结果在外层的原因,会被先读到,因此可以用于指导后续操作的方向。
例如在实际业务过程中,读取到该数据库操作数据中的解析结果为需要以某种算法进行加密,以及该数据具体的存储位置,则会先进行加密操作,然后按照解析结果的存储位置,直接将加密后的密文存入数据库中,从而完成整个数据存入操作。
其中,因为上述操作是借助Mybatis plus实现的,因此整个过程可以是完全使用java等编程语言实现,而减少额外编辑数据库语言。
在实际的使用场景中,会存在直接对Mybatis plus下的Wrapper数据包进行分析操作的场景,此时就可以直接使用Mybatis plus的Wrapper进行分析,确定需要加工的目标字段以及参数的名称,然后通过向Wrapper中增加字段或者修改的方式实现数据拦截的操作目的,省去使用***的操作。
可以理解,数据库处理时,一般都是数据写入和数据读取两种操作,在这两种操作下,会使用不同的方式进行对应的操作,本实施例中会识别在进行数据库处理时,具体为怎样的场景,若是Mybatis plus的Wrapper格式数据包场景,则会执行上述操作,其他场景则会使用各自对应的操作方式,不同场景下,工具的操作方式有所区别,当前场景以外的操作方式不是重点,在此不进行过多描述,只是说明本实施例通过针对上述处理Mybatis plus的Wrapper格式数据包的方法,可以使得环境中兼容多种插件的运行,并可以保障使用Mybatis plus的同时,避免其带来的一些其他问题,例如数据格式不兼容等问题。
此外,***的执行顺序也会影响业务程序的正常运行以及数据库的数据处理。
例如,数据库中存的数据在取出来时需要解密操作,然后才能进行一些提取和计算等附加操作,所以解密操作一定是需要最先执行的,但是***的存在会使得***的附加操作在解密操作之前执行,从而影响了业务操作,为此,本实施例还会针对***的执行顺序进行排序规划。
如图3所示,本实施例还提供***执行顺序确定流程,包括:
步骤S400,当向数据库会话注入自定义***时,解析所述自定义***的执行逻辑,根据所述执行逻辑,确定各个自定义***的注册顺序。
自定义***指的是开发人员为了实现某些对数据库操作数据的扩展操作,通过Mybatis插件编写的***,这些***本实施例中默认为Mybatis 插件中的衍生插件。
开发人员编写这些***时,会涉及到这些***之间的调用关系以及执行逻辑,即这些***需要怎样的前置条件才会执行,需要在哪一步执行等执行逻辑,这些执行逻辑可以通过解析器解析得到。通过解析该执行逻辑,就可以确定这些***之间的一个执行先后的关系。
而且拦截去是需要注入数据库会话后才能相应工作的,在实际的环境中,会存在多个***,这些显然,也会存在针对同种数据的***,为此***之间的执行顺序会影响对数据的处理结果。为此,需要按***的特性,对***的注册顺序进行排序。当通过***拦截的数据库操作和数据进行解析时,识别***所拦截到的数据库操作类型,对参数或返回结果实现特定的业务逻辑处理。
而***在注入时存在一个注册顺序,该注册顺序可以影响这些***的执行顺序,因此在注入数据库会话时,通过之前解析得到的执行逻辑中,各个***的先后关系,就可以确定这些***的注册顺序。
其次,根据上述步骤S100到步骤S300可知,针对Mybatis plus的Wrapper格式数据包需要对数据包进行克隆后再进行解析操作,因此具有上述针对Wrapper格式数据包克隆操作的***会放置在没有这类操作的***之前,避免Wrapper格式数据包被没有对应克隆方法的***进行解析处理,导致无法使用。
因此,在排序原则上,具有对Wrapper格式数据包先克隆后解析的***会被放置在更优先的顺序上,而那些没有对Wrapper格式数据包先克隆后解析的***则会放在稍后的位置,而那些会进行预编译的***则需要放在最后。
步骤S500,当拦截所述数据库会话中的数据库操作数据时,按照所述注册顺序执行对应的所述自定义***。
当执行数据库会话时,会产生数据写入数据库和数据从数据库中读出两种情况,***会按照其设计原理,针对其需要拦截的数据触发其拦截算法,进行数据的拦截,并且相互之间会按照步骤S400中设计的注册顺序触发。从而避免某些***运行在不恰当的时机,从而干扰到***的任务执行。
因此,本是实力可以确定各个所述***中是否存在对所述目标格式数据包进行克隆操作的执行逻辑,并确定会进行预编译执行逻辑的***;
将存在对所述目标格式数据包进行克隆操作的执行逻辑的***设置在优先执行的位置,将具有预编译执行逻辑的***设置在低优先执行的位置,从而得到注册顺序。
因为***中存在一些会对数据库操作数据进行预编译操作的***,其预编译操作会使得数据库操作数据产生被解析后类似的不可逆影响,因此这些***的顺位还会往后排,例如存在***A,B,C,D,解析执行逻辑后,得到的顺序是A优先,其次B,C和D同级不分先后,其中C***会对数据库操作数据进行预编译,所以C会被排在D的后面,由此最终得到的排序会是ABDC这个顺序进行注册和执行。
实施例2
如图4所示本申请还提供一种基于Mybatis的数据处理装置,包括:
判断模块10,用于当通过***拦截的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;
解析模块20,用于对所述克隆数据进行所述解析操作得到解析结果;
附加模块30,用于将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
本申请还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的基于Mybatis的数据处理方法。
本申请还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的基于Mybatis的数据处理方法,该方法包括:当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;对所述克隆数据进行所述解析操作得到解析结果;将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于Mybatis的数据处理方法,其特征在于,应用于***的数据拦截过程,所述方法包括:
当通过***拦截数据库会话中的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;
对所述克隆数据进行所述解析操作得到解析结果;
将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
2.根据权利要求1所述的基于Mybatis的数据处理方法,其特征在于,还包括:
当向数据库会话注入自定义***时,解析所述自定义***的执行逻辑,根据所述执行逻辑,确定各个自定义***的注册顺序;
当拦截所述数据库会话中的数据库操作数据时,按照所述注册顺序执行对应的所述自定义***。
3.根据权利要求2所述的基于Mybatis的数据处理方法,其特征在于,所述根据所述执行逻辑,确定各个自定义***的注册顺序,包括:
确定各个所述***中是否存在对所述目标格式数据包进行克隆操作的执行逻辑,并确定会进行预编译执行逻辑的***;
将存在对所述目标格式数据包进行克隆操作的执行逻辑的***设置在优先执行的位置,将具有预编译执行逻辑的***设置在低优先执行的位置,从而得到注册顺序。
4.根据权利要求1所述的基于Mybatis的数据处理方法,其特征在于,还包括:
若所拦截的数据库操作数据不是所述目标格式数据包时,则结合业务需求,直接对所述数据库操作数据进行解析和对应的业务逻辑操作。
5.根据权利要求1所述的基于Mybatis的数据处理方法,其特征在于,所述将所述解析结果附加在所述数据库操作数据中,包括:
在所述数据库操作数据中添加解析字段,将所述解析结果写入所述解析字段中,得到更新后的数据库操作数据。
6. 根据权利要求1所述的基于Mybatis的数据处理方法,其特征在于,所述目标格式数据包为Mybatis plus的参数数据包封装。
7.根据权利要求1所述的基于Mybatis的数据处理方法,其特征在于,所述判断所拦截的数据库操作数据是否为目标格式数据包,包括:
获取所述数据库操作数据的入参类型以及映射语句的资源类型,以判断所述***拦截到的数据类型是否是所述目标格式数据包。
8.一种基于Mybatis的数据处理装置,其特征在于,包括:
判断模块,用于当通过***拦截的数据库操作数据进行解析操作时,判断所拦截的数据库操作数据是否为目标格式数据包,若是则对所述数据库操作数据进行克隆,得到克隆数据;
解析模块,用于对所述克隆数据进行所述解析操作得到解析结果;
附加模块,用于将所述解析结果附加在所述数据库操作数据中,所述数据库操作数据按照所述解析结果进行对应的数据处理。
9.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至7中任一项所述的基于Mybatis的数据处理方法。
10.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的基于Mybatis的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685420.7A CN116431669B (zh) | 2023-06-12 | 2023-06-12 | 基于Mybatis的数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310685420.7A CN116431669B (zh) | 2023-06-12 | 2023-06-12 | 基于Mybatis的数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116431669A true CN116431669A (zh) | 2023-07-14 |
CN116431669B CN116431669B (zh) | 2023-08-15 |
Family
ID=87080031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310685420.7A Active CN116431669B (zh) | 2023-06-12 | 2023-06-12 | 基于Mybatis的数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431669B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844387A (zh) * | 2017-10-17 | 2018-03-27 | 广东广业开元科技有限公司 | 一种通用数据备份方法、***及装置 |
CN111651296A (zh) * | 2020-04-30 | 2020-09-11 | 中国平安财产保险股份有限公司 | 数据删除操作的拦截备份方法、装置、设备及存储介质 |
CN114153856A (zh) * | 2021-11-24 | 2022-03-08 | 中国工商银行股份有限公司 | 主机数据双写方法及装置 |
US20220164344A1 (en) * | 2020-11-24 | 2022-05-26 | Boe Technology Group Co., Ltd. | Data processing method, data processing device and non-volatile computer-readable storage media |
CN115640316A (zh) * | 2022-09-27 | 2023-01-24 | 平安科技(深圳)有限公司 | 数据查询的分页方法、***、插件及服务器 |
-
2023
- 2023-06-12 CN CN202310685420.7A patent/CN116431669B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844387A (zh) * | 2017-10-17 | 2018-03-27 | 广东广业开元科技有限公司 | 一种通用数据备份方法、***及装置 |
CN111651296A (zh) * | 2020-04-30 | 2020-09-11 | 中国平安财产保险股份有限公司 | 数据删除操作的拦截备份方法、装置、设备及存储介质 |
US20220164344A1 (en) * | 2020-11-24 | 2022-05-26 | Boe Technology Group Co., Ltd. | Data processing method, data processing device and non-volatile computer-readable storage media |
CN114153856A (zh) * | 2021-11-24 | 2022-03-08 | 中国工商银行股份有限公司 | 主机数据双写方法及装置 |
CN115640316A (zh) * | 2022-09-27 | 2023-01-24 | 平安科技(深圳)有限公司 | 数据查询的分页方法、***、插件及服务器 |
Non-Patent Citations (1)
Title |
---|
张旭刚 等, 《微型电脑应用》, vol. 37, no. 2, pages 84 - 86 * |
Also Published As
Publication number | Publication date |
---|---|
CN116431669B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614702B (zh) | 字节码优化方法及装置 | |
US20050183068A1 (en) | Correlating trace events | |
US8464236B2 (en) | Data consistency in data processing systems | |
US20230036357A1 (en) | Method and apparatus for authority control, computer device and storage medium | |
KR101861341B1 (ko) | 애플리케이션 코드의 역난독화 장치 및 이를 이용한 애플리케이션 코드의 역난독화 방법 | |
CN109800005B (zh) | 一种客户端热更新方法及装置 | |
CN112565026B (zh) | 测试帧的生成方法、装置及设备 | |
CN110213243B (zh) | 一种基于动态污点分析的工业通信协议逆向分析方法 | |
US10725748B2 (en) | Extracting program features for assisting software development | |
WO2021164462A1 (zh) | 一种数据加密方法、数据解密方法、计算机设备和介质 | |
US20240143739A1 (en) | Intelligent obfuscation of mobile applications | |
Cope | Strong security starts with software development | |
CN110472425A (zh) | 基于Mono的Unity插件加密方法、存储介质 | |
CN116431669B (zh) | 基于Mybatis的数据处理方法、装置、计算机设备及存储介质 | |
WO2021243555A1 (zh) | 一种快应用检测方法、装置、设备及存储介质 | |
CN111475168A (zh) | 一种代码编译方法及装置 | |
US9032372B2 (en) | Runtime environment and method for non-invasive monitoring of software applications | |
CN112732644B (zh) | 应用程序的资源索引处理方法、计算机设备和存储介质 | |
KR20190051301A (ko) | 퍼징 수행 시스템, 퍼징용 실행 흐름 정보 추출 장치 및 방법 | |
US20230325476A1 (en) | Obfuscation device, obfuscation method, and obfuscation program | |
CN109947407B (zh) | 一种数据获取方法及装置 | |
CN109240906B (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN108063680B (zh) | 资源分配控制方法和装置 | |
CN109460640A (zh) | 一种Java程序保护方法、装置、设备及可读存储介质 | |
CN112363708B (zh) | 一种支持Eclipse工具下的上下文保护方法及*** |
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 |