[发明专利]一种数据处理方法和相关装置在审
申请号: | 202211330208.0 | 申请日: | 2022-10-27 |
公开(公告)号: | CN115599805A | 公开(公告)日: | 2023-01-13 |
发明(设计)人: | 康铎 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F40/103;G06F16/18 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 曹伟 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 相关 装置 | ||
本申请公开了一种数据处理方法和相关装置,获取SQL语句对应的初始日志,对初始日志对应的打印类进行修改,将SQL语句对应的交易信息添加至打印类中,得到交易日志。同时,利用正则表达式对交易日志进行复原处理,以过滤SQL语句中的环境信息,输出可执行SQL语句。由于环境信息的存在导致直接打印SQL语句之后不可执行,无法用于调试,故通过正则表达式对环境信息进行过滤,能够使得过滤后得到的SQL语句在打印后可执行,达到复原SQL语句的目的。通过对初始日志的打印类进行修改,使得交易日志中包括SQL语句对应的交易信息,该交易信息能够表示SQL语句对应的交易入口,由于添加了交易信息,故在后续可直接利用可执行SQL语句完成调试,能够简化调试流程。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据处理方法和相关装置。
背景技术
Mybatis是一个开源的Java持久化框架,通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的记录。
在本地集成开发环境,使用Mybatis进行开发时,通常将需要实际执行的SQL语句以日志方式进行打印,便于调试和跟踪。然而直接打印出的SQL语句由于并非可直接执行,可读性差,因此无法进行调用链的跟踪。相关技术中,利用Mybatis Log Plugin这种基于IntelliJ IDEA的插件,使用IDEA的平台的JAR包,对控制台输出进行过滤以对SQL语句进行复原,或者,利用p6spy组件这种监控JDBC的框架,对JDBC的关键类进行包装,让应用系统调用包装类,以截获到SQL语句对其进行复原后输出,从而使得复原后的SQL语句打印后可执行。
然而,相关技术中Mybatis Log Plugin是一种收费插件,而p6spy需要将JDBC的URL添加p6spy字段,存在不可控性,对源代码入侵性强等问题,且二者均无法打印SQL语句对应的交易信息,使得在基于SQL语句的调试流程复杂。
发明内容
为了解决上述技术问题,本申请提供了一种数据处理方法和相关装置,能够简化调试流程。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
获取SQL语句对应的初始日志;
对所述初始日志对应的打印类进行修改,将所述SQL语句对应的交易信息添加至所述打印类中,得到交易日志;
利用正则表达式对所述交易日志进行复原处理,过滤所述SQL语句中的环境信息,输出可执行SQL语句。
在一种可能的实现方式中,所述对所述初始日志对应的打印类进行修改,将所述SQL语句对应的交易信息添加至所述打印类中,得到交易日志,包括:
利用Javaassit对所述打印类进行修改,将所述交易信息添加至所述打印类中,得到所述交易日志。
在一种可能的实现方式中,所述利用正则表达式对所述交易日志进行复原处理,过滤所述SQL语句中的环境信息,输出可执行SQL语句,包括:
利用所述正则表达式对所述交易日志对应的Preparing、Parameters、Total语句进行拆分组装,以过滤所述环境信息,得到所述SQL语句对应的初始SQL语句;
对所述初始SQL语句进行格式化处理,得到标准SQL语句;
从所述交易日志中获取所述交易信息;
将所述交易信息添加至所述标准SQL语句的头部,得到所述可执行SQL语句。
在一种可能的实现方式中,所述方法还包括:
执行所述可执行SQL语句,获得执行结果;
获取所述交易信息对应的交易结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211330208.0/2.html,转载请声明来源钻瓜专利网。