[发明专利]一种基于注解的数据查询方法、数据查询设备及存储介质在审
申请号: | 201910876893.9 | 申请日: | 2019-09-17 |
公开(公告)号: | CN110674200A | 公开(公告)日: | 2020-01-10 |
发明(设计)人: | 季敏;杨瀛 | 申请(专利权)人: | 南京紫津融畅信息科技服务有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/2455;G06F16/242 |
代理公司: | 44268 深圳市君胜知识产权代理事务所(普通合伙) | 代理人: | 朱阳波 |
地址: | 210036 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 注解 数据查询 动态组装 拼接 数据查询设备 查询语句 存储介质 当前条件 逻辑耦合 反射 替换 开发 返回 维护 | ||
1.一种基于注解的数据查询方法,其特征在于,包括:
获取VO对象的get方法列表;
遍历所述get方法列表,并执行get方法得到该get方法列表中的值;
判断所得到的值是否为空,若不为空则继续判断该值是否使用了@Where注解;若该值使用了@Where注解,则继续判断所述@Where注解后是否设置有属性,若否则该值所对应的查询请求为等值查询,若是则该值所对应的查询请求为非等值查询;
当判断为等值查询时,通过Java反射获取get方法的返回值,并根据所述返回值进行SQL查询语句的动态组装;
当判断为非等值查询时,将查询语句中的@Where注解后属性中的问号替换为所获取的值,并在处理in查询条件及like查询条件后进行SQL拼接;
根据动态组装后的SQL查询语句或拼接后的SQL查询语句进行数据查询。
2.根据权利要求1所述的基于注解的数据查询方法,其特征在于,进行SQL查询语句的动态组装的过程具体为:获取@Colume注解的name属性的值,作为SQL查询语句的左部,并通过Java反射获取get方法的返回值,作为SQL查询语句的右部。
3.根据权利要求2所述的基于注解的数据查询方法,其特征在于,所述获取@Colume注解的name属性的值,作为SQL查询语句的左部,并通过Java反射获取get方法的返回值,作为SQL查询语句的右部的步骤还包括:根据所获取返回值的类型,确定SQL查询语句的右部是否需用单引号括起来。
4.根据权利要求1所述的基于注解的数据查询方法,其特征在于,所述非等值查询包括:不等值查询,所述不等值查询的查询语句中的@Where注解后附加有sql属性。
5.根据权利要求1所述的基于注解的数据查询方法,其特征在于,所述非等值查询包括:直接in查询,所述直接in查询的查询语句中的@Where注解后附加有isArrayString属性。
6.根据权利要求1所述的基于注解的数据查询方法,其特征在于,所述非等值查询包括:间接in查询,所述间接in查询的查询语句中的@Where注解后附加有逻辑查询注解。
7.根据权利要求1所述的基于注解的数据查询方法,其特征在于,所述非等值查询包括:单逻辑映射查询,所述单逻辑映射查询的查询语句将被转换成一个SQL片段,用于后续的拼接处理。
8.根据权利要求1所述的基于注解的数据查询方法,其特征在于,所述非等值查询包括:多逻辑映射查询,所述多逻辑映射查询的查询语句将根据前端条件值,选择使用多个逻辑中的一个进行查询,并被转换成一个条件SQL片段,用于后续的拼接处理。
9.一种数据查询设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1至8中任意一项所述的方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的基于注解的数据查询方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京紫津融畅信息科技服务有限公司,未经南京紫津融畅信息科技服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910876893.9/1.html,转载请声明来源钻瓜专利网。