[发明专利]一种基于注解的数据查询方法、数据查询设备及存储介质在审
申请号: | 201910876893.9 | 申请日: | 2019-09-17 |
公开(公告)号: | CN110674200A | 公开(公告)日: | 2020-01-10 |
发明(设计)人: | 季敏;杨瀛 | 申请(专利权)人: | 南京紫津融畅信息科技服务有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/2455;G06F16/242 |
代理公司: | 44268 深圳市君胜知识产权代理事务所(普通合伙) | 代理人: | 朱阳波 |
地址: | 210036 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 注解 数据查询 动态组装 拼接 数据查询设备 查询语句 存储介质 当前条件 逻辑耦合 反射 替换 开发 返回 维护 | ||
本发明涉及一种基于注解的数据查询方法、数据查询设备及存储介质,其中方法包括步骤:获取VO对象的get方法列表;得到该列表中的值;判断该值不为空后,判断是否使用了@Where注解;若是则继续判断等值查询还是非等值查询;为等值查询,则通过Java反射获取返回值,并进行SQL的动态组装;为非等值查询,则将查询语句中的@Where注解后属性中的问号替换为所获取的值,并进行SQL拼接;根据动态组装后的SQL查询语句或拼接后的SQL查询语句进行数据查询。本发明所提供的基于注解的数据查询方法,使得开发人员在处理查询逻辑时,能够专注于当前条件的逻辑,不会与其他的查询逻辑耦合在一起,降低了开发及维护难度。
技术领域
本发明涉及数据中心技术领域,特别是涉及一种基于注解的数据查询方法、数据查询设备及存储介质。
背景技术
数据库是管理系统中的重要组成部分,管理人员对于数据库的操作一般有增删改查四种,其中查询操作的占比通常在70%左右,是整个管理系统中最为重要的服务之一。
在一个管理系统初步确定后,要想在此基础上提供更多样化的查询服务,通常的实现方式是:在表单中增加一个输入项,后端代码获取所述输入项中的值,然后根据所获取的值动态的组装SQL(Structured Query Language,结构化查询语言),最终执行语句以获取数据集。其中,在表单增加输入项的操作基本是无法避免的,但由于改动难度并不大,因此,该部分操作可以忽略不计。但后端代码则不同,需要大量的逻辑判断及SQL组装,一旦查询条件较多,就容易因存在大量的if/else语句,导致系统维护困难。
因此,现有技术还有待改进。
发明内容
基于此,有必要针对上述技术问题,提供一种基于注解的数据查询方法、数据查询设备及存储介质,旨在解决现有技术中在管理系统中增加查询服务需要使用大量的逻辑判断及SQL组装,导致系统维护困难的问题。
本发明的技术方案如下:
一种基于注解的数据查询方法,其包括:
获取VO对象的get方法列表;
遍历所述get方法列表,并执行get方法得到该get方法列表中的值;
判断所得到的值是否为空,若不为空则继续判断该值是否使用了@Where注解;若该值使用了@Where注解,则继续判断所述@Where注解后是否设置有属性,若否则该值所对应的查询请求为等值查询,若是则该值所对应的查询请求为非等值查询;
当判断为等值查询时,通过Java反射获取get方法的返回值,并根据所述返回值进行SQL查询语句的动态组装;
当判断为非等值查询时,将查询语句中的@Where注解后属性中的问号替换为所获取的值,并在处理in查询条件及like查询条件后进行SQL拼接;
根据动态组装后的SQL查询语句或拼接后的SQL查询语句进行数据查询。
在进一步地优选方案中,进行SQL查询语句的动态组装的过程具体为:获取@Colume注解的name属性的值,作为SQL查询语句的左部,并通过Java反射获取get方法的返回值,作为SQL查询语句的右部。
在进一步地优选方案中,所述获取@Colume注解的name属性的值,作为SQL查询语句的左部,并通过Java反射获取get方法的返回值,作为SQL查询语句的右部的步骤还包括:根据所获取返回值的类型,确定SQL查询语句的右部是否需用单引号括起来。
在进一步地优选方案中,所述非等值查询包括:不等值查询,所述不等值查询的查询语句中的@Where注解后附加有sql属性。
在进一步地优选方案中,所述非等值查询包括:直接in查询,所述直接in查询的查询语句中的@Where注解后附加有isArrayString属性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京紫津融畅信息科技服务有限公司,未经南京紫津融畅信息科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910876893.9/2.html,转载请声明来源钻瓜专利网。