[发明专利]一种通过注解方式生成查询条件的方法和配置无效
申请号: | 201110282754.7 | 申请日: | 2011-09-20 |
公开(公告)号: | CN103020064A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 田之进;周涛;唐磊 | 申请(专利权)人: | 佳都新太科技股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510665 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 注解 方式 生成 查询 条件 方法 配置 | ||
技术领域
本发明涉及电子信息技术领域,特别是涉及一种通过注解方式生成查询条件的方法。
背景技术
在IT软件的业务开发中,通过开发语言与数据库的交互是很频繁的,通常开发人员会通过业务逻辑去生成一串数据库的SQL语句,再通过数据库提供的类库执行。往往在一个客户端的查询界面时,会输入各种查询条件,开发人员不得不在后台的代码中写很长的一串判断查询参数的语句,再生成最终的SQL提交给数据库,这样使得开发效率低下,也很容易产生错误的SQL语句。
为了提高开发人员对数据库查询模块的开发效率,故采用了一种基于java注解的方式配置到数据库实体对象类里,通过一种解析器,自动的对注解解析,最终生成想要的查询SQL,提交给数据库。
当然,这种方式也有一定的缺陷,就是当次没通过解析器进行生成查询语句时,解析器对一个复杂的实体类的解析是需要花费一段时间的,对于这种情况,查询可能请求的时间较长一些。
发明内容
本发明所要解决的技术问题是提供一种通过注解方式生成查询条件的方法,使程序开发人员不需要过多的写SQL语句,而是针对实体的对象的注解配置来操作。
为实现上述发明目的,本发明提供一些数据库表实体对象的注解类型,提供的可配置的数据库类型、数据库字段类型、Requst中条件参数匹配名称、查询操作和自定义实现的字段查询解析器;
所述可配置的Request中条件匹配参数名称,用于:配置在数据库实体对象类的字段上,可以配置多个名称。参数名称注解中的值是一个字符串的数组,用于存放多个参数名称,对应到一个实体属性;
所述查询操作,用于:配置在数据库实体对象类中对此字段的查询操作,例如等于或大于等,值得注意的时,此注解中操作的个数应该与条件名称注解的个数相同,因为每个参数与每个操作一一对。同样,操作注解的值里也是一个数组,不过改数组存放的是一个包含常用查询操作类型的枚举对象;
所述自定义实现的字段查询解析器,就是当使用者不想在当前字段使用默认的操作注解时,可以自己实现。只需继承公共字段解析器的抽象方法即可。并将所实现的类路径配置到该注解中。
一种通过注解方式生成查询条件的类解析器,包括:
解析器解析配置在数据库表映射的实体对象中属于类范围的注解,通常可以是数据库类型,数据库表明通过这些注解的类型,解析器会最终采用数据库方言的形式转换生产的条件SQL语句。同时,类解析器会采用迭代的方式,将一个表实体类的属性迭代出来,通过参数的方式传给字段解析器解析。
一种通过注解方式生成查询条件的字段解析器,包括:
解析每个实体对象的属性中的注解,从而找到RequestMap中对应的查询参数值,根据配置的注解信息,生成每个字段的条件查询操;
当字段没有配置参数名称注解时,解析器自动跳过该类的属性;
当字段没有配置查询操作类型注解时,解析器自动为其使用默认的查询操作,缺省情况下是等于操作。
当字段配置了多个参数名称注解时,也要配置相同数量的操作类型注解,解析器会自动对该字段生成出相同数量的条件查询语句。
由上述方案可以看出,本发明中只需对一个数据库表的实体类进行修改,在相应的位置上配置好相应的注解类型,再使用类解析器同时对实体类和查询请求的参数进行解析,最终生成出相应的查询语句。且便于开发人员轻松的使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中系统结构示意图;
图2为本发明实施例一中系统处理信息流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一,参见图1、图2
本发明提供一种通过注解的方式生成数据库查询语句的方法。
类解析器通过客户端发来的查询请求参数,和定义的数据库表实体类的注解,通过解析后再次调用字段解析器,从而生成最终的查询SQL。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于佳都新太科技股份有限公司,未经佳都新太科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110282754.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种鸡个数统计器及其使用方法
- 下一篇:一种基于XML的数据修改痕迹记录系统