一种数据库操作方法、系统、装置和可读存储介质制造方法及图纸

技术编号:36458379 阅读:11 留言:0更新日期:2023-01-25 22:57
本发明专利技术公开了一种数据库操作方法、系统、装置和可读存储介质,其中,数据库操作方法包括接收数据库操作请求,数据库操作请求包括传输变量和数据库字段,每个传输变量有分别对应的数据库字段,传输变量用于为所对应的数据库字段传输数值,且与所对应的数据库字段具有不同名称;转换数据库字段的名称,并基于转换得到的名称,确定数据库字段与传输变量之间的对应关系;根据数据库字段与传输变量的对应关系,拼装数据库操作语句;及执行拼装得到的数据库操作语句,以对数据库中的数据进行操作。可以提高开发效率。可以提高开发效率。可以提高开发效率。

【技术实现步骤摘要】
一种数据库操作方法、系统、装置和可读存储介质


[0001]本专利技术涉及数据库
,具体涉及一种数据库操作方法、系统、装置和可读存储介质。

技术介绍

[0002]在日常开发过程中,经常需要编写各种数据库操作语句(例如条件查询语句、统计语句、修改语句等)。
[0003]在java编程语言中,从数据库中查询得到的数据可以通过数据传输对象(DTO,Data Transfer Object)输出。数据传输对象中的每个属性分别对应一个数据库字段,用于传输为所对应的数据库字段传输数值。在数据传输对象中,每个属性的名称需要满足驼峰命名规则(比如不能有下划线)。但在数据库中,数据库字段的名称却可以无需满足驼峰命名规则(比如可以下划线)。这就导致在基于java编程语言编写数据库操作语句时,需要指明数据传输对象的属性与数据库字段的对应关系,使得开发人员的开发效率较低。
[0004]因此,亟需一种提高开发效率的方法。

技术实现思路

[0005]有鉴于此,本专利技术实施方式提供了一种数据库操作方法、数据库操作系统、数据库操作装置和计算机可读存储介质,可以提高数据库操作语句的编写效率。
[0006]本专利技术一方面提供了一种数据库操作方法,所述方法包括:
[0007]接收数据库操作请求,所述数据库操作请求包括传输变量和数据库字段,每个所述传输变量有分别对应的数据库字段,所述传输变量用于为所对应的数据库字段传输数值,且与所对应的数据库字段具有不同名称;
[0008]转换所述数据库字段的名称,并基于转换得到的名称,确定所述数据库字段与所述传输变量之间的对应关系;
[0009]根据所述数据库字段与所述传输变量的对应关系,拼装数据库操作语句;及
[0010]执行拼装得到的数据库操作语句,以对数据库中的数据进行操作。
[0011]本专利技术另一方面还提供了一种数据库操作系统,所述系统包括:
[0012]请求接收模块,用于接收数据库操作请求,所述数据库操作请求包括传输变量和数据库字段,每个所述传输变量有分别对应的数据库字段,所述传输变量用于为所对应的数据库字段传输数值,且与所对应的所述数据库字段具有不同名称;
[0013]名称转换模块,用于转换所述数据库字段的名称,并基于转换得到的名称,确定所述数据库字段与所述传输变量之间的对应关系;
[0014]语句拼装模块,用于根据所述数据库字段与所述传输变量的对应关系,拼装数据库操作语句;及
[0015]执行模块,用于执行拼装得到的数据库操作语句,以对数据库中的数据进行操作。
[0016]本专利技术另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质用
于存储计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法。
[0017]本专利技术另一方面还提供了一种数据库操作装置,所述装置包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的方法。
[0018]在本申请一些实施例的技术方案中,在接收到数据库操作请求后,可以转换数据库字段的名称来确定与数据库字段和传输变量的对应关系,并可以根据该对应关系来拼装数据库操作语句。由于本申请的方法在接收到数据库操作请求后,可以将数据库字段和传输变量进行对应后,再拼装数据库操作语句,因此,需要操作数据库的需求方可以通过发送数据库操作请求的方式操作数据库,并可以无需指定数据库字段和传输变量的对应关系,从而可以提高数据库操作语句的编写效率。
附图说明
[0019]通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:
[0020]图1为一种应用场景下的数据查询示意图;
[0021]图2示出了为本申请的一个实施例提供的与数据库操作方法相对应的系统架构示意图;
[0022]图3示出了本申请的一个实施例提供的数据库操作方法的流程示意图;
[0023]图4示出了本申请的一个实施例提供的数据库操作系统的模块示意图;
[0024]图5示出了本申请的一个实施例提供的数据库操作装置的示意图。
具体实施方式
[0025]为使本专利技术实施方式的目的、技术方案和优点更加清楚,下面将结合本专利技术实施方式中的附图,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施方式,都属于本专利技术保护的范围。
[0026]在对本申请的技术方案进行阐述前,先说明与本申请相关的技术。
[0027]为便于理解,本申请以一个具体的应用场景为例进行说明。请参阅图1,为一种应用场景下的数据查询示意图。图1中,数据库中存储了一个或多个公司的详细信息,包括公司名称、公司编号、公司是否合法等信息。其中,公司名称存储在数据库字段“company_name”下,公司编号存储在数据库字段“company_code”下,公司是否合法存储在数据库字段“is_company_valid”下。业务层(比如业务展示界面)用于展示数据库中存储的所有或部分公司信息。比如展示公司名称和公司编号。
[0028]在一些技术中,出于数据安全考虑,可以通过数据传输对象隔离数据库和业务层。具体地,可以根据业务层需要展示的信息,从数据库中筛选出相应的信息,并将筛选出的信息写入数据传输对象,通过数据传输对象将信息传输给业务层。这样可以防止业务层直接访问数据库,造成数据泄露。
[0029]比如假设业务层只需要展示公司名称和公司编号,但数据库中除存储公司名称、
公司编号外,可能还存储了其他的公司信息(比如公司是否合法)。若让业务层直接访问数据库,则业务层除获取到公司名称和公司编号外,还可以获取到其他的公司信息。这样就存在数据泄露的风险。因此,可以从数据库中提取出业务层需要展示的公司名称和公司编号,并将提取出的公司名称和公司编号放到数据传输对象中,通过数据传输对象将公司名称和公司编号传输给业务层。这样,业务层就只能查看到公司名称和公司编号,无法查看到其他的公司信息,有效降低了数据泄露的安全风险。
[0030]通常,数据传输对象可以具有属性,每个属性分别与数据库中的一个数据字段相对应,用于传输所对应的数据库字段的数值。由于一些编程语言对属性的名称有特定的命名规则(比如java编程语言中,属性变量的名称需要按照驼峰命名规则命名),因此数据传输对象中的属性与属性所对应的数据库字段可以具有不同的名称。比如图1中,数据传输对象中的属性“companyName”对应数据库中的“company_name”字段,属性“companyCode”对应数据库中的“company_code”字段。在将数据库中的数据提取到数据传输对象中时,每个数据库字段的数值,可以存储到数据库字段所对应的属性中。比如,数据库字段“company_name”的数值,可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库操作方法,其特征在于,所述方法包括:接收数据库操作请求,所述数据库操作请求包括传输变量和数据库字段,每个所述传输变量有分别对应的数据库字段,所述传输变量用于为所对应的数据库字段传输数值,且与所对应的数据库字段具有不同名称;转换所述数据库字段的名称,并基于转换得到的名称,确定所述数据库字段与所述传输变量之间的对应关系;根据所述数据库字段与所述传输变量的对应关系,拼装数据库操作语句;及执行拼装得到的数据库操作语句,以对数据库中的数据进行操作。2.如权利要求1所述的方法,其特征在于,所述确定所述数据库字段和所述传输变量的对应关系,包括:将所述数据库字段的名称按照驼峰命名规则进行转换,得到所述数据库字段的字段转换名称;在所述传输变量中,将名称与所述字段转换名称相同的传输变量,作为与所述数据库字段相对应的传输变量。3.如权利要求1所述的方法,其特征在于,所述根据所述数据库字段与所述传输变量的对应关系,拼装数据库操作语句,包括:将所述传输变量的数值赋予对应的数据库字段,或将所述数据库字段的数值赋予对应的传输变量,以拼装数据库操作语句。4.如权利要求3所述的方法,其特征在于,所述数据库字段包括第一数据库字段,所述传输变量包括参数传输变量,所述数据库操作请求包括通过所述第一数据库字段来表示的初始操作语句;所述拼装数据库操作语句,包括:根据所述参数传输变量与所述第一数据库字段的对应关系,将所述参数传输变量的数值赋予对应的第一数据库字段,以从所述初始操作语句拼装得到至少部分所述数据库操作语句。5.如权利要求3所述的方法,其特征在于,所述数据库字段包括待输出数值的第二数据库字段以及所述第二数据库字段的数值待输出至的结果传输变量;所述拼装数据库操作语句,包括:根据所述第二数据库字段与所述结果传输变量的对应关系,将所述第二数据库字段的数...

【专利技术属性】
技术研发人员:许华亮
申请(专利权)人:北京自如信息科技有限公司
类型:发明
国别省市:

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

1