CN116049268A - 局部动态表单展示的实现方法和装置 - Google Patents
局部动态表单展示的实现方法和装置 Download PDFInfo
- Publication number
- CN116049268A CN116049268A CN202310279979.XA CN202310279979A CN116049268A CN 116049268 A CN116049268 A CN 116049268A CN 202310279979 A CN202310279979 A CN 202310279979A CN 116049268 A CN116049268 A CN 116049268A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- database
- dynamic
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种局部动态表单展示的实现方法、装置、计算机设备和存储介质。该实现方法应用于服务器端,服务器配置了预设类型的数据库,预设类型的数据库为支持不指定列名对数据表进行操作的数据库,方法包括:将各待选表单的内容分别存储于数据库内与各待选表单一一对应的数据表;响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集;目标表单包括动态表单和固定表单,与动态表单对应的数据集的数据类型为第一数据类型,第一数据类型支持具有动态列名的数据结构;将各数据集反馈到客户端。该方法可高效率地实现了对局部动态页面的灵活展示。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种局部动态表单展示的实现方法、装置、存储介质和计算机设备。
背景技术
表单是网页展示中一种十分常用的展示手段,特别是在展示文献、论文或专利等专业性较强的内容时,常常需要在网页中构建表单。在展示不同内容时,常见的表单形式包括固定表单和动态表单,其中,固定表单具有固定的结构,即列名、列数量等都保持固定,而动态列名则相反。传统技术中对表单进行构建一般是定制化的或预先生成的,如果需要修改表单的数据及展现形式,则需要重新进行开发,这个过程不仅耗时,且耗费大量人力物力资源,降低了表单开发的效率。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中健壮性测试结果不够准确的技术缺陷。
第一方面,本申请实施例提供了一种局部动态表单展示的实现方法,应用于服务器端,所述服务器配置了预设类型的数据库,所述预设类型的数据库为支持不指定列名对数据表进行操作的数据库,所述方法包括:
将各待选表单的内容分别存储于所述数据库内与各所述待选表单一一对应的数据表;
响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集;所述目标表单包括动态表单和固定表单,与所述动态表单对应的所述数据集的数据类型为第一数据类型,所述第一数据类型支持具有动态列名的数据结构;
将各所述数据集反馈到所述客户端。
在其中一个实施例中,所述将各所述数据集反馈到所述客户端,包括
对各所述数据集进行聚合封装,得到目标公共类;
将所述目标公共类反馈到所述客户端。
在其中一个实施例中,所述将目标公共类反馈到所述客户端,包括:
对所述目标公共类进行序列化;
将序列化后的所述目标公共类,通过处理所述查询请求的接口反馈到所述客户端。
在其中一个实施例中,所述响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集,包括:
响应于客户端的查询请求,确定数据筛选条件和目标数据表标识;
根据所述目标数据表标识从所述数据库中确定目标数据表;所述目标数据表与各所述目标表单一一对应;
根据各所述目标数据表对应的所述数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各所述目标表单一一对应的数据集。
在其中一个实施例中,所述目标数据表标识包括所述目标数据表的名称。
在其中一个实施例中,所述数据库为MongoDB,所述第一数据类型为DBObject,所述响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集,包括:
对于所述目标表单中任意一个所述动态表单,根据所述查询请求确定该所述动态表单的名称和该所述动态表单对应的数据筛选条件;
基于该所述动态表单的名称构造查询目标参数,基于该所述动态表单对应的数据筛选条件构造查询条件参数,基于所述第一数据类型构造封装类型参数;
将所述查询目标参数、所述查询条件参数和所述封装类型参数传入Mon-goTemplate中的原始查询语句,得到目标查询语句;
执行所述目标查询语句,得到与该所述动态表单对应的、数据类型为所述第一数据类型的所述数据集。
在此MongoDB数据库中,当数据表中增加一个文档(等于增一行数据)时候,如果里面未出现过的列,在无须修改代码情况下,重新向服务器发送查询请求,反馈到客户端的数据中将增加该从未出现过的列。当数据表中减少一个文档(等于减一行数据),如果该文档的列内含有表中唯一的非空值,在无须修改代码情况下,重新向服务器发送查询请求,反馈到客户端的数据中将会自动减少含有唯一的非空值的列。
在其中一个实施例中,所述预设类型的数据库为列式数据库或文档数据库。
第二方面,本申请实施例提供了一种局部动态表单展示的实现装置,应用于服务器端,所述服务器配置了预设类型的数据库,所述预设类型的数据库为支持不指定列名对数据表进行操作的数据库,所述装置包括:
存储模块,用于将各待选表单的内容分别存储于所述数据库内与各所述待选表单一一对应的数据表;
查询模块,用于响应客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集;所述目标表单包括动态表单和固定表单,与所述动态表单对应的所述数据集的数据类型为第一数据类型,所述第一数据类型支持具有动态列名的数据结构;
结果反馈模块,用于将各所述数据集到所述客户端。
第三方面,本申请实施例提供了一种计算机设备,包括一个或多个处理器,以及存储器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行上述任一实施例所述的局部动态表单展示的实现方法的步骤。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例所述的局部动态表单展示的实现方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
基于上述任一实施例,在服务器上选择配置预设类型的数据库,使得在数据库中可以灵活、高效地对数据库中的数据表进行修改而无需涉及代码层面的调整。将待选表单的内容都分别存储在该数据库对应的数据表中,使得对任意一个动态表单进行修改时不会影响到其他动态表单。在接收到客户端发送的查询请求时,从数据库中查询各目标表单对应的数据,并将其封装为与各目标表单一一对应的数据集。其中,来自于动态表单的数据需要被封装为第一数据类型的数据集,以满足动态列名的展示需要。最后将所有数据集聚合封装为目标公共类,将其反馈到客户端进行页面展示。在面对需要展示存在局部动态表单的页面时,或者需要横向显示表格,客户端缺少非插件形式的组合表格技术,本申请无需依赖第三方的插件,可提供更好的屏幕横向显示和客户端表格组合效果更好的技术支持,将改善或丰富用户阅读数据的体验,并可能提高屏幕横向阅读能力的上限。并且,在动态表单的数据变更时也无需对数据库结构进行重新开发,对查询到的数据进行了合理的整合,高效率地实现了对局部动态页面的灵活展示。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一个实施例提供的服务端测试方法的流程示意图;
图2为本申请另一个实施例提供的服务端测试方法的流程示意图;
图3为本申请实施例提供的计算机设备的内部结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种局部动态表单展示的实现方法,应用于服务器端,服务器配置了预设类型的数据库,预设类型的数据库为支持不指定列名对数据表进行操作的数据库。在研究过程中发现,许多类型的数据库中所存储的数据表的列名(也可称为字段名)必须提前设定,如果需对数据表中进行涉及列名变动(包括更改列名、新增列名、删除列名等)的操作,如需要在某个数据表中新增一个字段及其对应的数据时,必须要对数据库的相关代码进行修改。而预设类型的数据库则不相同,对任意一个数据表所进行的增删查改等操作,都可以基于不指定列名的方式进行。例如,在文档数据库MongoDB中,所有数据的记录都是文档形式,无所谓列名,每一条数据都是独立的,在对任意一个数据表进行操作时都可以通过不指定列名的方式实现。在涉及列名是动态的场景时,预设类型的数据库可以保证通过数据库支持的简单语句即可实现对数据表的操作,而无需涉及对数据库相关代码的修改。请参阅图1,该实现方法具体包括步骤S102至步骤S106。
S102,将各待选表单的内容分别存储于数据库内与各待选表单一一对应的数据表。
可以理解,待选表单即为所有可能在页面上进行展示的表单,本申请针对的展示页面应是同时包含动态表单和固定表单的页面。因此,待选表单中应包括一个以上的动态表单和一个以上的固定表单。另外,由于动态表单的内容随时可能修改,为了方便满足这一需求,在将各待选表单的内容存储于数据库时,为每个待选表单设置一一对应的数据表。在动态表单的展示内容需要修改时,可以只针对该待选表单对应的数据表进行操作,从而不会影响其他待选表单的展示效果,前端在获取到数据时也无需对数据做进一步分类,提高页面构建效率。
S104,响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集。
客户端在需要进行表单展示时,将向服务器发送查询请求。即每次访问包括该表单对应的页面时,客户端将从服务器查询该页面内所有表单对应的数据。目标表单即包括待展示页面中的所有表单,目标表单也将包括一个以上的动态表单和一个以上的固定表单。由此可见,这里的查询请求可以是在初次访问该页面构建时发送的,也可以是在动态表单发生变动时,在客户端对该页面进行刷新时发送的。
查询请求中将包含在预设类型的数据库进行查询所需的参数,以指明需要数据库中的哪些数据。服务器根据查询请求在数据库中进行查询,并将查询到的数据根据该数据所来自的数据表的不同选择合适的数据类型进行封装,由于数据表和待选表单之间存在一一对应关系,最后将得到与各目标表单一一对应的数据集。值得一提的是,由于动态表单的列名是动态的,不能通过提前定义好自定义具有固定字段的数据类型,并且为了页面构建时读取和动态表单相关数据的效率,不希望在被选用的数据类型的内部增加为了满足动态字段的需要而增加额外的数据结构。因此,需要考虑预设类型的数据库所支持的数据类型中可以支持对具有动态列名的数据结构进行封装的数据类型,即对于来自动态表单数据应被封装为预设类型的数据库内置的第一数据类型,第一数据类型可以支持具有动态列名的数据结构。对于来自于固定表单的数据,对于封装所采用的数据类型并无过多限制,可以根据需要选择自定义的数据类型,也可以选择数据库所支持的类型。
S106,将各数据集反馈到客户端。
客户端可从各数据集中读取出展示各目标表单所需的数据,从而可以基于这些数据进行展示。
基于本实施例中的实现方法,在服务器上选择配置预设类型的数据库,使得在数据库中可以灵活、高效地对数据库中的数据表进行修改而无需涉及代码层面的调整。将待选表单的内容都分别存储在该数据库对应的数据表中,使得对任意一个动态表单进行修改时不会影响到其他动态表单。在接收到客户端发送的查询请求时,从数据库中查询各目标表单对应的数据,并将其封装为与各目标表单一一对应的数据集。其中,来自于动态表单的数据需要被封装为第一数据类型的数据集,以满足动态列名的展示需要。在面对需要展示存在局部动态表单的页面时,或者需要横向显示表格,客户端缺少非插件形式的组合表格技术,本申请无需依赖第三方的插件,可提供更好的屏幕横向显示和客户端表格组合效果更好的技术支持,将改善或丰富用户阅读数据的体验,并可能提高屏幕横向阅读能力的上限。并且,在动态表单的数据变更时也无需对数据库结构进行重新开发,高效率地实现了对局部动态页面的灵活展示。
在其中一个实施例中,将各数据集反馈到客户端包括:
(1)对各数据集进行聚合封装,得到目标公共类。
(2)将目标公共类反馈到客户端。
为了将步骤S104封装出的所有数据集以整体数据API的形式向外提供访问,可以通过定义一个公共类,并将步骤S104中所得到的各数据集作分别作为该公共类中的一个私有集,得到目标公共类。将各数据集进行聚合封装是由于传统方式中对于每个表单都需要单独发送一个查询请求,导致服务器与客户端之间的交互过于冗杂,出现IO低效的问题。本实施例中的查询请求包含所有的目标表单,在将数据反馈到客户端时也对数据进行了聚合,保证客户端可以对所有所需数据进行整体访问,减少客户端与服务器之间的冗余通信。
在其中一个实施例中,响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集,包括:
(1)响应于客户端的查询请求,确定数据筛选条件和目标数据表标识。
(2)根据目标数据表标识从数据库中确定目标数据表。
(3)根据各目标数据表对应的数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各目标表单一一对应的数据集。
具体而言,查询请求用于从数据库中查询出各目标表单对应的数据,而所有待选表单与数据库中的数据表之间存在一一对应关系,为了实现数据查询,即需要告知服务器应以哪个数据表作为目标。另外,数据库中的数据表之间可通过数据表标识进行区分。因此,查询请求中需要包括两个以上的目标数据表标识,每个目标数据表标识对应一个目标数据表,目标数据表也就与目标表单之间存在一一对应关系。同时,在对目标表单进行展示时,不一定需要目标表单所对应的数据表中的所有数据。因此,查询请求中还包括各目标数据表标识对应的数据筛选条件,数据筛选条件即可用于在对应的目标数据表中进行数据筛选。从每个目标数据表中筛选出数据后,将其分别进行封装,即可得到与各目标表单对应的数据集。
在其中一个实施例中,目标数据表标识包括目标数据表的名称。具体而言,通过向数据库传入目标数据表的名称即可锁定名称与目标数据表的名称相同的数据表为其中一个目标数据表。
在其中一个实施例中,预设类型的数据库为MongoDB。针对目标表单中任意一个动态表单,响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集,包括:
(1)对于目标表单中任意一个动态表单,根据查询请求确定该动态表单的名称和该动态表单对应的数据筛选条件。
可以理解,动态表单中既包含动态表单又包含固定表单,对于固定表单的查询过程较为常见,但在MongoDB这一特定数据库中查询动态表单相关数据的流程值得说明。具体而言,MongoDB数据库内置一种数据类型为BSON,将数据表采用BSON数据类型进行存储,MongoDB数据库对于BSON数据类型的数据表可以不指定列名即对数据表进行操作,满足本申请对数据库类型的需求。同时,在MongoDB数据库中可以应用Spring data框架进行查询操作。该框架既支持根据数据表的名称从数据库中进行数据表的选择,还支持根据需要构建相应的筛选条件。Spring data中的MongoTemplate所支持的查询操作还可对封装的数据类型进行选择。并且,MongoDB还支持基于BSON的变形所形成的数据类型DBObject,该种数据类型无需提前固定列名即可对数据进行封装,满足本申请对第一数据类型的需要。
(2)基于该动态表单的名称构造查询目标参数,基于该动态表单对应的数据筛选条件构造查询条件参数,基于第一数据类型构造封装类型参数。
具体而言,传入MongoTemplate的原始查询语句中的参数需要包括查询目标参数、查询条件参数和封装类型参数。查询目标参数即用于指明需要查询的数据表的名称。因此,基于该动态表单的名称可构造查询目标参数。查询条件参数即用于指明查询出的数据需要满足的条件。因此,基于该动态表单对应的数据筛选条件可构造查询条件参数。另外,由于从动态表单查询出的数据需要被封装为第一数据类型的数据集。因此,还需基于第一数据类型构造封装类型参数,以指示MongoTemplate选择对应的封装类型。
(3)将查询目标参数、查询条件参数和封装类型参数传入MongoTempl-ate中的原始查询语句,得到目标查询语句。
具体而言,原始查询语句即为MongoTemplate中用于在数据库进行查询、但还未传入参数的查询语句。将原始查询语句所需的所有参数传入即可得到目标查询语句。
(4)执行目标查询语句,得到与该动态表单对应的、数据类型为第一数据类型的数据集。
可以理解,对目标表单中的每个动态表单都可重复上述步骤,从而得到数据类型为第一数据类型,且与各动态表单一一对应的数据集。
在此MongoDB数据库中,当数据表中增加一个文档(等于增一行数据)时候,如果里面未出现过的列,在无须修改代码情况下,重新向服务器发送查询请求,反馈到客户端的数据中将增加该从未出现过的列。当数据表中减少一个文档(等于减一行数据),如果该文档的列内含有表中唯一的非空值,在无须修改代码情况下,重新向服务器发送查询请求,反馈到客户端的数据中将会自动减少含有唯一的非空值的列。
在其中一个实施例中,将目标公共类反馈到客户端,包括:
(1)对目标公共类进行序列化。
(2)将序列化后的目标公共类,通过处理查询请求的接口反馈到客户端。
可以理解,客户端和服务器之间需要通过网络进行传输,而为了便于实现这一点,可以通过序列化技术将目标公共类转化为可传输的字节序列。最后通过服务器上用于对客户端的查询请求进行处理的接口将序列化的目标公共类反馈回客户端。
在其中一个实施例中,预设类型的数据库为列式数据库或文档数据库。根据研究发现,文档数据库和列式数据库都可以满足对于数据库的类型要求,且这两种类型的数据库都内置有满足第一预设类型条件的数据类型。因此,本申请中的服务器可以配置列式数据库或文档数据库,再执行上述实施例中的方法,实现局部动态表单的展示。
本申请实施例提供了一种局部动态表单展示的实现装置,应用于服务器端,服务器配置了预设类型的数据库,预设类型的数据库为支持不指定列名对数据表进行操作的数据库。请参阅图2,该装置包括存储模块210、查询模块220和结果反馈模块230。
存储模块210用于将各待选表单的内容分别存储于数据库内与各待选表单一一对应的数据表。
查询模块220用于响应客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集;目标表单包括动态表单和固定表单,与动态表单对应的数据集的数据类型为第一数据类型,第一数据类型支持具有动态列名的数据结构。
结果反馈模块230用于将各数据集反馈到客户端。
在其中一个实施例中,该实现装置还包括聚合模块。聚合模块用于对各数据集进行聚合封装,得到目标公共类。结果反馈模块230用于将目标公共类反馈到客户端。
在其中一个实施例中,结果反馈模块230用于对目标公共类进行序列化;将序列化后的目标公共类,通过处理查询请求的接口反馈到客户端。
在其中一个实施例中,查询模块220用于响应于客户端的查询请求,确定数据筛选条件和目标数据表标识;根据目标数据表标识从数据库中确定目标数据表;目标数据表与各目标表单一一对应;根据各目标数据表对应的数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各目标表单一一对应的数据集。
在其中一个实施例中,数据库为MongoDB,第一数据类型为DBObject。查询模块220用于对于目标表单中任意一个动态表单,根据查询请求确定该动态表单的名称和该动态表单对应的数据筛选条件;基于该动态表单的名称构造查询目标参数,基于该动态表单对应的数据筛选条件构造查询条件参数,基于第一数据类型构造封装类型参数;将查询目标参数、查询条件参数和封装类型参数传入MongoTemplate中的原始查询语句,得到目标查询语句;执行目标查询语句,得到与该动态表单对应的、数据类型为第一数据类型的数据集。
本申请实施例提供了一种计算机设备,该计算机设备配置了预设类型的数据库,所述预设类型的数据库为支持不指定列名对数据表进行操作的数据库。该计算机设备包括一个或多个处理器,以及存储器,存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行:将各待选表单的内容分别存储于数据库内与各待选表单一一对应的数据表;响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集;目标表单包括动态表单和固定表单,与动态表单对应的数据集的数据类型为第一数据类型,第一数据类型支持具有动态列名的数据结构;将各数据集反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,执行:对各数据集进行聚合封装,得到目标公共类;将目标公共类反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,执行:对目标公共类进行序列化;将序列化后的目标公共类,通过处理查询请求的接口反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,执行:响应于客户端的查询请求,确定数据筛选条件和目标数据表标识;根据目标数据表标识从数据库中确定目标数据表;目标数据表与各目标表单一一对应;根据各目标数据表对应的数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各目标表单一一对应的数据集。
在其中一个实施例中,数据库为MongoDB,第一数据类型为DBObject,计算机可读指令被一个或多个处理器执行时,执行:对于目标表单中任意一个动态表单,根据查询请求确定该动态表单的名称和该动态表单对应的数据筛选条件;基于该动态表单的名称构造查询目标参数,基于该动态表单对应的数据筛选条件构造查询条件参数,基于第一数据类型构造封装类型参数;将查询目标参数、查询条件参数和封装类型参数传入MongoTemplate中的原始查询语句,得到目标查询语句;执行目标查询语句,得到与该动态表单对应的、数据类型为第一数据类型的数据集。
示意性地,如图3所示,图3为本申请实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图3,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的文本识别方法。
计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(I/O)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例提供了一种存储介质,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行:将各待选表单的内容分别存储于数据库内与各待选表单一一对应的数据表;响应于客户端的查询请求,在数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各目标表单一一对应的数据集;目标表单包括动态表单和固定表单,与动态表单对应的数据集的数据类型为第一数据类型,第一数据类型支持具有动态列名的数据结构;将各数据集反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行:对各数据集进行聚合封装,得到目标公共类;将目标公共类反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行:对目标公共类进行序列化;将序列化后的目标公共类,通过处理查询请求的接口反馈到客户端。
在其中一个实施例中,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行:响应于客户端的查询请求,确定数据筛选条件和目标数据表标识;根据目标数据表标识从数据库中确定目标数据表;目标数据表与各目标表单一一对应;根据各目标数据表对应的数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各目标表单一一对应的数据集。
在其中一个实施例中,数据库为MongoDB,第一数据类型为DBObject,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行:对于目标表单中任意一个动态表单,根据查询请求确定该动态表单的名称和该动态表单对应的数据筛选条件;基于该动态表单的名称构造查询目标参数,基于该动态表单对应的数据筛选条件构造查询条件参数,基于第一数据类型构造封装类型参数;将查询目标参数、查询条件参数和封装类型参数传入MongoTemplate中的原始查询语句,得到目标查询语句;执行目标查询语句,得到与该动态表单对应的、数据类型为第一数据类型的数据集。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种局部动态表单展示的实现方法,其特征在于,应用于服务器端,所述服务器配置了预设类型的数据库,所述预设类型的数据库为支持不指定列名对数据表进行操作的数据库,所述方法包括:
将各待选表单的内容分别存储于所述数据库内与各所述待选表单一一对应的数据表;
响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集;所述目标表单包括动态表单和固定表单,与所述动态表单对应的所述数据集的数据类型为第一数据类型,所述第一数据类型支持具有动态列名的数据结构;
将各所述数据集反馈到所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述将各所述数据集反馈到所述客户端,包括
对各所述数据集进行聚合封装,得到目标公共类;
将所述目标公共类反馈到所述客户端。
3.根据权利要求2所述的方法,其特征在于,所述将目标公共类反馈到所述客户端,包括:
对所述目标公共类进行序列化;
将序列化后的所述目标公共类,通过处理所述查询请求的接口反馈到所述客户端。
4.根据权利要求1所述的方法,其特征在于,所述响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集,包括:
响应于客户端的查询请求,确定数据筛选条件和目标数据表标识;
根据所述目标数据表标识从所述数据库中确定目标数据表;所述目标数据表与各所述目标表单一一对应;
根据各所述目标数据表对应的所述数据筛选条件进行数据筛选,并将筛选出的数据分别封装为与各所述目标表单一一对应的数据集。
5.根据权利要求4所述的方法,其特征在于,所述目标数据表标识包括所述目标数据表的名称。
6.根据权利要求1所述的方法,其特征在于,所述数据库为MongoDB,所述第一数据类型为DBObject,所述响应于客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集,包括:
对于所述目标表单中任意一个所述动态表单,根据所述查询请求确定该所述动态表单的名称和该所述动态表单对应的数据筛选条件;
基于该所述动态表单的名称构造查询目标参数,基于该所述动态表单对应的数据筛选条件构造查询条件参数,基于所述第一数据类型构造封装类型参数;
将所述查询目标参数、所述查询条件参数和所述封装类型参数传入Mon-goTemplate中的原始查询语句,得到目标查询语句;
执行所述目标查询语句,得到与该所述动态表单对应的、数据类型为所述第一数据类型的所述数据集。
7.根据权利要求1所述的方法,其特征在于,所述预设类型的数据库为列式数据库或文档数据库。
8.一种局部动态表单展示的实现装置,其特征在于,应用于服务器端,所述服务器配置了预设类型的数据库,所述预设类型的数据库为支持不指定列名对数据表进行操作的数据库,所述装置包括:
存储模块,用于将各待选表单的内容分别存储于所述数据库内与各所述待选表单一一对应的数据表;
查询模块,用于响应客户端的查询请求,在所述数据库中查询各目标表单对应的数据,并将查询到的数据分别封装为与各所述目标表单一一对应的数据集;所述目标表单包括动态表单和固定表单,与所述动态表单对应的所述数据集的数据类型为第一数据类型,所述第一数据类型支持具有动态列名的数据结构;
结果反馈模块,用于将各所述数据集到所述客户端。
9.一种计算机设备,其特征在于,包括一个或多个处理器,以及存储器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1-7任一项所述的局部动态表单展示的实现方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1-7任一项所述的局部动态表单展示的实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310279979.XA CN116049268B (zh) | 2023-03-22 | 2023-03-22 | 局部动态表单展示的实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310279979.XA CN116049268B (zh) | 2023-03-22 | 2023-03-22 | 局部动态表单展示的实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116049268A true CN116049268A (zh) | 2023-05-02 |
CN116049268B CN116049268B (zh) | 2023-06-16 |
Family
ID=86133454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310279979.XA Active CN116049268B (zh) | 2023-03-22 | 2023-03-22 | 局部动态表单展示的实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049268B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150363494A1 (en) * | 2011-10-09 | 2015-12-17 | LockPath, Inc. | Performing an object relational model query against a database that includes fields defined at runtime |
CA3080802A1 (en) * | 2017-10-31 | 2019-05-09 | Grand Performance Online Pty Ltd | Autonomous and integrated system, method and computer program for dynamic optimisation and allocation of resources for defined spaces and time periods |
CN111162879A (zh) * | 2019-12-23 | 2020-05-15 | 五八有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
CN113254535A (zh) * | 2021-06-08 | 2021-08-13 | 成都新潮传媒集团有限公司 | 一种mongodb到mysql的数据同步方法、装置及计算机可读存储介质 |
CN113297825A (zh) * | 2021-07-23 | 2021-08-24 | 苏州恒力智能科技有限公司 | 动态可视化的表单应用设计系统和计算机可读存储介质 |
CN113407563A (zh) * | 2021-06-04 | 2021-09-17 | 莱斯发展有限公司 | 查询表单的生成方法、装置及设备 |
US11194793B1 (en) * | 2019-06-25 | 2021-12-07 | Amazon Technologies, Inc. | Dynamically materialized views for sheets based data |
CN115510052A (zh) * | 2022-07-12 | 2022-12-23 | 河北志晟信息技术股份有限公司 | 基于动态表单与数据库动态校验的方法及系统 |
-
2023
- 2023-03-22 CN CN202310279979.XA patent/CN116049268B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150363494A1 (en) * | 2011-10-09 | 2015-12-17 | LockPath, Inc. | Performing an object relational model query against a database that includes fields defined at runtime |
CA3080802A1 (en) * | 2017-10-31 | 2019-05-09 | Grand Performance Online Pty Ltd | Autonomous and integrated system, method and computer program for dynamic optimisation and allocation of resources for defined spaces and time periods |
US11194793B1 (en) * | 2019-06-25 | 2021-12-07 | Amazon Technologies, Inc. | Dynamically materialized views for sheets based data |
CN111162879A (zh) * | 2019-12-23 | 2020-05-15 | 五八有限公司 | 一种数据传输方法、装置、电子设备及存储介质 |
CN113407563A (zh) * | 2021-06-04 | 2021-09-17 | 莱斯发展有限公司 | 查询表单的生成方法、装置及设备 |
CN113254535A (zh) * | 2021-06-08 | 2021-08-13 | 成都新潮传媒集团有限公司 | 一种mongodb到mysql的数据同步方法、装置及计算机可读存储介质 |
CN113297825A (zh) * | 2021-07-23 | 2021-08-24 | 苏州恒力智能科技有限公司 | 动态可视化的表单应用设计系统和计算机可读存储介质 |
CN115510052A (zh) * | 2022-07-12 | 2022-12-23 | 河北志晟信息技术股份有限公司 | 基于动态表单与数据库动态校验的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116049268B (zh) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309334B (zh) | 图数据库的查询方法、系统、计算机设备和可读存储介质 | |
WO2018177252A1 (zh) | 一种基于区块链的数据存储以及查询的方法及装置 | |
US7194485B2 (en) | Mapping XML schema components to qualified java components | |
US8601438B2 (en) | Data transformation based on a technical design document | |
US9098558B2 (en) | Enhanced flexibility for users to transform XML data to a desired format | |
CN111708537A (zh) | 基于组件模板的页面渲染方法、设备及可读存储介质 | |
US10120886B2 (en) | Database integration of originally decoupled components | |
CN108776610A (zh) | 一种界面配置方法和装置 | |
CN106940721B (zh) | 一种自定义选择框的数据处理方法及系统 | |
CN104699706A (zh) | 目录树的生成方法、装置及系统 | |
CN109726244A (zh) | 数据导入方法及装置 | |
CN111159215B (zh) | Java类与关系型数据库的映射方法、装置及计算设备 | |
US20200301763A1 (en) | System and method for creating or updating an api configuration | |
CN111198772A (zh) | 一种应用程序接口api生成的方法及系统 | |
Lefrançois et al. | Supporting arbitrary custom datatypes in RDF and SPARQL | |
US20110035410A1 (en) | Processing apparatus and program | |
US10133826B2 (en) | UDDI based classification system | |
CN116049268B (zh) | 局部动态表单展示的实现方法和装置 | |
US8046682B2 (en) | Method and system for accessing business applications via a standard interface | |
CN112699282A (zh) | 工业互联网数据处理方法、装置、电子设备及存储介质 | |
CN112491943B (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN116303622A (zh) | 一种数据库查询方法、装置、设备及存储介质 | |
CN114036178A (zh) | 服务接口生成方法、装置、计算机及可读存储介质 | |
CN116150236A (zh) | 数据同步方法及装置、电子设备、计算机可读存储介质 | |
CN112445811A (zh) | 基于sql配置的数据服务方法、装置、存储介质及组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |