数据库访问方法和装置制造方法及图纸

技术编号:25636998 阅读:21 留言:0更新日期:2020-09-15 21:29
本发明专利技术公开了一种数据库访问方法和装置,涉及计算机技术领域。其中,该方法用于采用前后端分离的微服务架构的数据库访问装置中,包括:在接收到前端页面的数据库访问请求后,将所述请求携带的页面数据封装至第一实体对象中,并将所述第一实体对象传递至业务层;对所述第一实体对象进行解析,再根据解析结果动态生成SQL语句;将所述SQL语句封装至第二实体对象中,并将所述第二实体对象传递至数据持久层;从所述第二实体对象中解析出所述SQL语句并执行,以实现对数据库的访问。通过以上步骤,能够基于页面请求在内存中动态生成SQL,将SQL语句从后端配置文件中完全解耦,有效减少需求变更带来的服务器重启次数。

【技术实现步骤摘要】
数据库访问方法和装置
本专利技术涉及计算机
,尤其涉及一种数据库访问方法和装置。
技术介绍
目前,各个领域开发业务系统都少不了对数据库进行访问。较为常见的场景是用户通过前端页面访问数据库。例如,用户基于前端页面的数据项对数据库中的数据进行查询、更新、删除或者新增操作。现有进行数据库访问的技术方案为:开发人员预先根据前端页面的数据项编写SQL语句,并将所述SQL语句保存在持久层框架(例如Mybatis)的配置文件中;在接收到前端页面的数据库访问请求后,借助持久层框架配置文件中的SQL语句实现对数据库表的访问操作。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:在现有进行数据库访问的技术方案中,前端页面数据项和持久层框架配置文件中的SQL没有实现解耦,若业务或产品人员提出新需求,需要新增查询条件或查询结果时,则开发人员需要同时修改前端页面以及配置文件中的SQL语句,开发工作量巨大,开发效率低;而且,在现有进行数据库访问的技术方案中,在每次修改后端配置文件中的SQL语句后,都需要重新启动后端服务器部署后端服务,本文档来自技高网...

【技术保护点】
1.一种数据库访问方法,其特征在于,用于采用前后端分离的微服务架构的数据库访问装置中,所述方法包括:/n在接收到前端页面的数据库访问请求后,将所述请求携带的页面数据封装至第一实体对象中,并将所述第一实体对象传递至业务层;/n对所述第一实体对象进行解析,再根据解析结果动态生成SQL语句;将所述SQL语句封装至第二实体对象中,并将所述第二实体对象传递至数据持久层;/n从所述第二实体对象中解析出所述SQL语句并执行,以实现对数据库的访问。/n

【技术特征摘要】
1.一种数据库访问方法,其特征在于,用于采用前后端分离的微服务架构的数据库访问装置中,所述方法包括:
在接收到前端页面的数据库访问请求后,将所述请求携带的页面数据封装至第一实体对象中,并将所述第一实体对象传递至业务层;
对所述第一实体对象进行解析,再根据解析结果动态生成SQL语句;将所述SQL语句封装至第二实体对象中,并将所述第二实体对象传递至数据持久层;
从所述第二实体对象中解析出所述SQL语句并执行,以实现对数据库的访问。


2.根据权利要求1所述的方法,其特征在于,所述数据库访问请求包括:数据查询请求;所述请求携带的页面数据包括:至少一个带有前缀的条件字段、条件字段的取值、至少一个查询结果字段;所述前缀包括:第一标识部,用于表明字段与其取值的连接关系。


3.根据权利要求2所述的方法,其特征在于,所述对所述第一实体对象进行解析,再根据解析结果动态生成SQL语句的步骤包括;
从所述第一实体对象中获取所述带有前缀的条件字段、以及条件字段的取值;根据所述带有前缀的条件字段查询预先配置的对应关系,以确定与之匹配的数据库表字段和连接运算符;根据所述匹配的数据库表字段、连接运算符以及所述条件字段的取值拼接SQL条件子句;
从所述第一实体对象中获取查询结果字段,根据所述查询结果字段查询所述预先配置的对应关系,以确定与之匹配的数据库表字段;根据所述匹配的数据库表字段拼接SQL结果子句;
根据拼接得到的所述SQL条件子句和所述SQL结果子句生成SQL语句。


4.根据权利要求2所述的方法,其特征在于,所述将所述请求携带的页面数据封装成第一实体对象的步骤包括:
根据预先配置的合法前缀枚举集合,对所述请求中带有前缀的条件字段进行过滤;将过滤后的条件字段、所述过滤后的条件字段的取值、以及查询结果字段封装至第一实体对象中。


5.一种数据库访问装置,其特征在于,采用前后端分离的微服务架构,所述装置包括:
控制层,用于在接收到前端页面的数据库访问请求后,将所述请求携带的页面数据封装至第一实体对象中,并将所述第一实体对象传递至业务层;
业...

【专利技术属性】
技术研发人员:黄攀登
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1