掌桥专利:专业的专利平台
掌桥专利
首页

一种动态生成SQL语句的方法

文献发布时间:2024-04-18 20:00:50


一种动态生成SQL语句的方法

技术领域

本发明涉及计算机技术领域,具体涉及一种动态生成SQL语句的方法。

背景技术

在报表统计、数据分析等需要多维度查询数据库的系统中,一般会有根据各种条件查询数据库数据的需求,当大批量存在这些需求时,编写对应的SQL查询语句会比较繁琐。

发明内容

本发明的目的在于提供一种动态生成SQL语句的方法用于解决上述问题。

为实现上述目的,本发明采用以下技术方案:

一种动态生成SQL语句的方法,包括以下步骤:

S1、创建JSONArray条件,所述JSONArray条件包括若干元素,每个所述元素的组成内容包括连接关系、条件排序及条件主体,其中,所述条件主体包括属性、值及值应用方式;

S2、枚举所述值应用方式与SQL关键字对应关系,并根据检测出的对应关系填充SQL关键字和值;

S3、获取所述JSONArray条件内容,查找所述JSONArray条件的SQL关键字,取出所述JSONArray条件里元素的属性及值,并和对应的SQL关键字拼接生成SQL语句。

优选地,步骤S3具体为:接收所述JSONArray条件,遍历所述JSONArray条件内容,按照条件排序作为顺序,解析出元素中的属性作为对象,然后根据所述值应用方式查到对应的SQL关键字,取出所述JSONArray条件里元素的属性及值,并和对应的SQL关键字拼接生成SQL语句,从而实现将JSONArray条件转换成SQL语句。

优选地,所述值应用方式枚举包括equal=等于、notEqual=不等于、contain=包含、notContain=不包含、empty=为空、notEmpty=不为空、hasValue=有值、noValue=没有值。

采用上述技术方案后,本发明与背景技术相比,具有如下有益效果:

本发明提供一种动态生成SQL语句的方法,根据JSONArray条件自动生成SQL查询语句,减少SQL查询语句编写的繁琐性,效率高,可根据实际需求快速自动生成,避免多余的重复性工作。

附图说明

图1为本发明的方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例

配合图1所示,本发明公开了一种动态生成SQL语句的方法,包括以下步骤:

S1、创建JSONArray条件,JSONArray条件包括若干元素,每个元素的组成内容包括连接关系(relation)、条件排序(renderIndex)及条件主体(conditions),条件主体(conditions)包括属性(field)、值(params)及值应用方式(function);

S2、枚举值应用方式与SQL关键字对应关系,并根据检测出的对应关系填充SQL关键字和值;

S3、获取JSONArray条件内容,查找JSONArray条件的SQL关键字,取出JSONArray条件里元素的属性及值,并和对应的SQL关键字拼接生成SQL语句。

步骤S3具体为:接收JSONArray条件,遍历JSONArray条件内容,按照条件排序作为顺序,解析出元素中的属性作为对象,然后根据值应用方式查到对应的SQL关键字,取出JSONArray条件里元素的属性及值,并和对应的SQL关键字拼接生成SQL语句,从而实现将JSONArray条件转换成SQL语句。

值应用方式枚举包括equal=等于、notEqual=不等于、contain=包含、notContain=不包含、empty=为空、notEmpty=不为空、hasValue=有值、noValue=没有值。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种城市景观河河道清淤填渠设备
  • 一种城市污水处理设备
  • 一种用于处理城市生活污水的一体化高效污水处理设备
  • 一种海绵城市道路用管道防堵塞设备
  • 一种城市污水处理用管道清淤设备
  • 一种便于清淤城市管道用污水处理装置
技术分类

06120116540386