【技术实现步骤摘要】
一种数据管理方法、系统、计算机设备和存储介质
[0001]本专利技术涉及数据管理
,特别是涉及一种基于JSON格式的数据管理方法、系统、计算机设备和存储介质。
技术介绍
[0002]目前,在前后端系统数据交互中,大部分场景是前端传入JSON格式的参数,后端接收到参数后,会转成数据库表对应的增加、删除、修改和查询的SQL语句,执行SQL语句后把结果响应到前端,也就是说,基于JSON格式来描述SQL语句,完成特定的业务功能。通常,现有技术实现的方法有两种,一种是每个接口自定义一个JSON格式来描述,然后生成特定的SQL语句,这种做法就是一个特定接口的JSON描述对应一个SQL语句,会存在不通用和不统一的问题,全局JSON格式规范性和质量都难以把控。另一种方法是直接在JSON格式里定义一个存放SQL语句的字段,后端接收到后直接执行该SQL语句,这种做法可以适应各种场景,但是直接把数据库信息暴露在了前端,容易发生SQL注入问题,难以保证数据库的安全性。
技术实现思路
[0003]为了解决上述技术问题,本专利技术的目的是提供一种使用JSON格式来直接描述SQL语句中常见的数据库表增删改查的功能,能够实现JSON格式与SQL语句转换的具有通用性、统一性、安全性和高质量的基于JSON格式的数据管理方法、系统、计算机设备和存储介质。
[0004]第一方面,本专利技术提供了一种基于JSON格式的数据管理方法,所述方法包括:
[0005]获取JSON格式的数据请求,并对所述数据请求进行校验; >[0006]将所述数据请求包装成数据处理对象;
[0007]对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句;
[0008]执行所述数据源的SQL语句,返回对数据源的执行结果。
[0009]进一步地,所述JSON格式的数据请求包括:对于数据库表的查询、新增、修改和删除。
[0010]进一步地,所述对所述数据请求进行校验的步骤包括:
[0011]对所述数据请求进行语法校验;
[0012]对所述数据请求进行数据类型校验。
[0013]进一步地,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤包括:
[0014]解析数据请求的类型,所述类型的关键词为code,所述类型的标识符包括TABLE_SELECT、TABLE_INSERT、TABLE_DELETE和TABLE_UPDATE;
[0015]解析数据库表名,所述表名的关键词为table;
[0016]解析所述数据库表的字段名,所述字段名的关键词为fields;
[0017]解析所述表名和所述字段名的别名,所述别名的关键词为alias。
[0018]进一步地,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的
SQL语句的步骤还包括:
[0019]解析数据库表的主键名称,所述主键名称的关键词为primaryKey;
[0020]解析所述数据库表的条件过滤信息,条件过滤包括比较运算、逻辑运算、模糊运算和范围运算,所述条件过滤的关键词为condition。
[0021]进一步地,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤还包括:解析数据库表中待操作的数据和数据集合,所述待操作包括待插入和待修改,所述数据集合的关键词为set。
[0022]进一步地,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤还包括:
[0023]解析数据库表的分页信息,所述分页信息包括起始页和每页大小,所述起始页的关键词为from,所述每页大小的关键词为size;
[0024]解析所述数据库表的排序信息,所述排序信息包括升序和降序,所述升序的关键词为asc,所述降序的关键词为desc;
[0025]解析所述数据库表的分组统计信息,所述分组统计信息包括分组条件和分组字段,所述分组条件的关键词为havingCondition,所述分组字段的关键词为groupBy;
[0026]解析所述数据库表的记录总数信息,记录总数的关键词为needTotal;
[0027]解析所述数据库表的连表查询信息,其中,左连接的关键词为leftJoin,右连接的关键词为rightJoin,内连接的关键词为innerJoin,交叉连接的关键词为crossJoin。
[0028]第二方面,本专利技术提供了一种基于JSON格式的数据管理系统,所述系统包括:
[0029]校验器,用于获取JSON格式的数据请求,并对所述数据请求进行校验。
[0030]包装器,用于将所述数据请求包装成数据处理对象。
[0031]解析器,用于对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句。
[0032]执行器,用于执行所述数据源的SQL语句,返回对数据源的执行结果。
[0033]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0034]第四方面,本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
[0035]上述本专利技术提供了一种数据管理方法、系统、计算机设备和存储介质。通过所述方法,将SQL语句通过JSON格式直接描述,实现对数据库的新增、删除、修改和查询的功能,从而预防了直接使用SQL语句造成的注入问题,并且定义了一个统一的具有通用性的转换方式,使JSON格式与SQL语句之间能够高质量的转换,同时还具有很好的安全性。
附图说明
[0036]图1是本专利技术实施例中基于JSON格式的数据管理方法的流程示意图;
[0037]图2是图1中步骤S10的流程示意图;
[0038]图3是图1中步骤S30的流程示意图;
[0039]图4是图1中步骤S30的另一种流程示意图;
[0040]图5是图1中步骤S30的第三种流程示意图;
[0041]图6是本专利技术实施例中基于JSON格式的数据管理系统的结构示意图;
[0042]图7是本专利技术实施例中基于JSON格式的数据管理系统的处理时序图;
[0043]图8是本专利技术实施例中计算机设备的内部结构图。
具体实施方式
[0044]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0045]请参阅图1,本专利技术第一实施例提出的一种基于JSON格式的数据管理方法,本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据管理方法,其特征在于,包括:获取JSON格式的数据请求,并对所述数据请求进行校验;若校验成功,则将所述数据请求包装成数据处理对象;对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句;执行所述数据源的SQL语句,返回对数据源的执行结果。2.根据权利要求1所述的数据管理方法,其特征在于,所述JSON格式的数据请求包括:对于数据库表的查询、新增、修改和删除。3.根据权利要求1所述的数据管理方法,其特征在于,所述对所述数据请求进行校验的步骤包括:对所述数据请求进行语法校验;对所述数据请求进行数据类型校验。4.根据权利要求1所述的数据管理方法,其特征在于,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤包括:解析数据请求的类型,所述类型的关键词为code,所述类型的标识符包括TABLE_SELECT、TABLE_INSERT、TABLE_DELETE和TABLE_UPDATE;解析数据库表名,所述表名的关键词为table;解析所述数据库表的字段名,所述字段名的关键词为fields;解析所述表名和所述字段名的别名,所述别名的关键词为alias。5.根据权利要求4所述的数据管理方法,其特征在于,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤还包括:解析数据库表的主键名称,所述主键名称的关键词为primaryKey;解析所述数据库表的条件过滤信息,条件过滤包括比较运算、逻辑运算、模糊运算和范围运算,所述条件过滤的关键词为condition。6.根据权利要求5所述的数据管理方法,其特征在于,所述对所述数据处理对象进行解析,将所述JSON格式解析为数据源的SQL语句的步骤还包括:解析数据库表中待操...
【专利技术属性】
技术研发人员:付信榕,
申请(专利权)人:浩云科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。