[发明专利]将SQL代码自动转换为Java代码的方法和装置有效
申请号: | 201910260266.2 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110008448B | 公开(公告)日: | 2023-10-17 |
发明(设计)人: | 朱李悦;钟慰;蒋亚琴;傅继星 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/51 | 分类号: | G06F8/51 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 孙乳笋;王涛 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 代码 自动 转换 java 方法 装置 | ||
本发明提供了一种将SQL代码自动转换为Java代码的方法和装置,该方法包括:根据接收的SQL代码,生成检索上下文对象;根据检索上下文对象查找预先设置的哈希映射集合,得到对应的Java代码。本发明通过将SQL语句解析并转换为统一的检索上下文对象,解决了SQL代码向Java代码转换时效率低、转换后代码可读性差的问题。
技术领域
本发明涉及数据转换领域,尤其涉及一种将SQL代码自动转换为Java代码的方法和装置。
背景技术
随着系统处理数据量的高速增长,传统以应用服务器和数据库为主的架构遇到了瓶颈。传统数据库无法通过简单的增加节点来实现横向扩展,其可扩展性弱的缺陷逐渐显现,因此传统系统的业务处理功能逐渐由SQL的存储过程处理向扩展性更好的分布式处理转型。但是由于传统框架及技术组件与主流分布式架构所使用的编程语言不同,在转型过程中不可避免需要进行代码重写,即两种的编程语言相互转换。代码转换方面,编程语言的转换是人工方式完成的,在大量SQL逻辑转为Java集合操作过程中,需要耗费大量人力,开发效率低,而且存在复杂度高、可读性差、易出错等多种问题,从而影响系统的稳定性。
因此,现急需找到一种将SQL代码自动转换为Java代码的方法。
发明内容
为了解决SQL代码逻辑转为Java代码的操作过程中,人工转换易出错、代码可读性差、工作量大等问题,提高了系统的稳定性,本发明提供了一种将SQL代码自动转换为Java代码的方法和装置。
第一方面,本发明提供一种将SQL代码自动转换为Java代码的方法,所述方法包括:
根据接收的SQL代码,生成检索上下文对象;
根据所述检索上下文对象查找预先设置的哈希映射集合,得到对应的Java代码。
进一步地,所述根据所述检索上下文对象查找预先设置的哈希映射集合,得到对应的Java代码包括:
根据设置的字段分隔符,对SQL字符串进行键值对转换,得到所述预先设置的哈希映射集合。
进一步地,所述根据接收的SQL代码语句,生成检索上下文对象包括:
根据SQL代码,确定关键要素;
根据所述关键要素,生成检索上下文对象。
进一步地,所述关键要素包括:表名、输出字段、检索条件、排序字段。
进一步地,所述根据所述检索上下文对象查找预先设置的哈希映射集合,得到对应的Java代码还包括:
判断所述检索条件是否存储在哈希映射集合中,确定存储在哈希映射集合中,则输出第一数据查询结果;
确定没有存储在哈希映射集合中,则判断所述检索条件是否进行单表查询,确定进行单表查询,则根据单表查询,输出第一数据结果集;
确定不进行单表查询,则对该检索条件进行多表关联查询,输出第二数据结果集;
将所述第一数据结果集和第二数据结果集组合,输出第二数据查询结果。
进一步地,所述确定没有存储在哈希映射集合中,则判断所述检索条件是否进行单表查询,确定进行单表查询,则根据单表查询,输出第一数据结果集包括:
当所述检索条件满足左操作符为索引字段的表达式,且所述表达式之间的逻辑运算均为“与”操作,且所述表达式的运算符为等值时,进行单表查询。
第二方面,本发明提供一种将SQL代码自动转换为Java代码的装置,所述装置包括:
检索上下文对象生成模块,用于根据接收的SQL代码,生成检索上下文对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910260266.2/2.html,转载请声明来源钻瓜专利网。