基于MYSQL和MONGODB的动态表单实现方法技术

技术编号:27196076 阅读:27 留言:0更新日期:2021-01-31 11:52
本发明专利技术公开了一种基于MYSQL和MONGODB的动态表单实现方法,包括如下步骤:a.获取或构造动态表单元信息和字段信息;b.根据动态表单元信息和字段信息定义动态表单,以固定数据结构存储到MYSQL数据库;c.根据所述数据结构,进行业务数据录入操作,结合动态表单定义,将表单业务数据保存到MONGODB。本专利所述的基于MYSQL和MONGODB的动态表单实现方法,只需开发一次,跨平台,即不依赖于操作系统,也不依赖硬件环境部署。并在B/S和移动端都可应用。避免了表单页面的重复设计和开发,大大降低实现成本。而且,在浏览器即可完成动态表单的修改操作,无需开发参与,修改即生效。修改即生效。修改即生效。

【技术实现步骤摘要】
基于MYSQL和MONGODB的动态表单实现方法


[0001]本专利技术涉及计算机数据处理
,尤其涉及一种基于MYSQL 和MONGODB的动态表单实现方法。

技术介绍

[0002]现阶段,小型软件大多是针对各业务系统定制开发CRUD逻辑
ꢀ--
CRUD是指在做计算处理时的增加(Create)、读取(Read)、更新 (Update)和删除(Delete)几个单词的首字母简写。CRUD主要被用在描述软件系统中数据库或者持久层的基本操作功能。其中包含大量的重复的机械化的数据库表结构设计、编码、对接和测试等工作,至少存在以下几个问题,不利于小型软件的迭代和交付:
[0003](1)需要多次设计和开发表单的展示界面,避免不了重复性工作;
[0004](2)业务逻辑变更后,表单需要修改,对应数据库表要做变更,自下而上的编码、对接和测试等工作又要进行一遍,成本较高;
[0005](3)一个业务的开发需要较多人力资源参与;
[0006](4)对于C/S(Client/Server)结构,无法随时随地对表单数据进行录入动作。

技术实现思路

[0007]为解决上述问题,本专利技术提供如下技术方案:
[0008]基于MYSQL和MONGODB的动态表单实现方法,包括如下步骤:
[0009]a.获取或构造动态表单元信息和字段信息;
[0010]b.根据动态表单元信息和字段信息定义动态表单,以固定数据结构存储到MYSQL数据库;
[0011]c.根据所述数据结构,进行业务数据录入操作,结合动态表单定义,将表单业务数据保存到MONGODB。
[0012]所述动态表单元信息包括:表单标识、表单名称、筛选字段、排序字段、唯一字段,每一个表单标识对应一个表单名称;
[0013]所述字段信息包括:字段标识、字段名称、字段的属性名称、字段的属性值;一个字段标识对应一个字段名称,一个字段对应多个属性对象,一个字段属性名称对应一个或多个属性值;
[0014]所述业务数据包括:表单标识、字段标识、字段对应的值,一条业务数据对应一个表单标识,一条业务数据包含多个字段标识。
[0015]该方法还包括:
[0016]设计MYSQL数据表,存储其中的数据结构,至少包含两张表,表单元信息表和表单字段表。
[0017]定义动态表单包括如下步骤:
[0018]i)判断操作指令是新增还是编辑,如果是新增操作,执行ii),如果是编辑操作,执
行iii);
[0019]ii)在浏览器根据新建操作所指示的字段类型,通过拖拽的方式组合表单字段,每个字段会有默认的缺省构造,这时,表单定义已在内存中形成,之后执行iv);
[0020]iii)从MYSQL中读取表单元信息和字段信息,加载到内存中,之后,展示元信息及遍历表单所有字段,根据字段类型创建展示控件;
[0021]iv)按业务需要,挨个个性化设置各字段属性,包括但不局限于:字段名称、默认值、提示语、关联输入、是否只读、是否必填等,更新内存中的表单定义;
[0022]v)保存内存表单定义到MYSQL数据库中的表单元信息表和表单字段表。
[0023]还包括业务数据与动态表单的关联,包含下列步骤:
[0024]i)从MYSQL中读取表单元信息和字段信息,加载到内存中,之后,展示元信息及遍历表单所有字段,根据字段类型创建展示控件;
[0025]ii)依据字段属性
--
提示语、默认值和关联输入等,填入实际的业务数据;
[0026]iii)后台进行合法性校验,业务数据校验通过后,表单标识、字段标识、字段值等组合成业务数据对象存储到MONGODB。
[0027]还包括:
[0028]表单元信息、字段信息获取模块,用于从MYSQL中获取表单元数据信息和字段信息,传递给表单渲染模块;
[0029]表单定义处理模块,用于将表单元信息和字段信息,保存到MYSQL 的表单元信息表和字段信息表中;
[0030]业务数据获取模块,用于根据表单标识,从MONGODB中获取表单业务数据,传递给表单渲染模块;
[0031]业务数据处理模块,用于将业务数据,关联动态表单,存储到 MONGODB中;
[0032]表单渲染模块,用于将表单元信息、字段信息,结合业务数据,产生相应的表单界面;
[0033]MYSQL数据库,用于将接收到的信息持久化保存。
[0034]本专利所述的基于MYSQL和MONGODB的动态表单实现方法,只需开发一次,跨平台,即不依赖于操作系统,也不依赖硬件环境部署。并在B/S和移动端都可应用。避免了表单页面的重复设计和开发,大大降低实现成本。而且,在浏览器即可完成动态表单的修改操作,无需开发参与,修改即生效。
附图说明
[0035]图1为基于MYSQL和MONGODB的动态表单生成方法的流程图
[0036]图2为类型编码和类型名称的对应关系图
[0037]图3为类型编码和类型名称的字段属性介绍图
[0038]图4为MYSQL中的数据结构表单元信息表图
[0039]图5为MYSQL中的数据结构表单字段信息表图
[0040]图6为实施例所述的某业务数据的存在形式表图
具体实施方式
[0041]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0042]参照图1,是根据本专利技术实施例的一种基于MYSQL和MONGODB的动态表单生成方法的流程图,具体包括:
[0043]步骤S1,配置动态表单元信息,提交保存。
[0044]本实施例中,将组成动态表单的元素,如字段、控件及其属性等,抽象出来,形成与技术无关的元信息。
[0045]上述元信息是与技术无关的,可以具体包括字段、字段属性,字段包括字段标识、字段类型、字段名称,字段属性包括属性名称和属性值。
[0046]其中字段类型包含类型编码和类型名称,对应关系如图2所示,字段属性介绍如图3所示。
[0047]一个字段编码对应一个字段类型,一个字段对应多个属性,一个属性标识对应一个属性名称。
[0048]在浏览器中。依据所述元数据描述,点击字段类型候选面板中的字段类型,或从字段类型候选面板中拖拽指定字段类型到表单区,和表单元数据信息,在内存中组成表单定义,如图2。此图为本专利技术实施例的一个表单定义装置的示例,该表单定义装置也可称作为可视化表单设计器。
[0049]本步骤是用来记录构成具体表单的基础元信息和各个字段及其属性,也就是说,一个表单由一个以上字段构成,一个字段包含多个属性,一个属性由属性名称和属本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于MYSQL和MONGODB的动态表单实现方法,包括如下步骤:a.获取或构造动态表单元信息和字段信息;b.根据动态表单元信息和字段信息定义动态表单,以固定数据结构存储到MYSQL数据库;c.根据所述数据结构,进行业务数据录入操作,结合动态表单定义,将表单业务数据保存到MONGODB。2.根据权利要求1所述的基于MYSQL和MONGODB的动态表单实现方法,其特征在于:所述动态表单元信息包括:表单标识、表单名称、筛选字段、排序字段、唯一字段,每一个表单标识对应一个表单名称;所述字段信息包括:字段标识、字段名称、字段的属性名称、字段的属性值;一个字段标识对应一个字段名称,一个字段对应多个属性对象,一个字段属性名称对应一个或多个属性值;所述业务数据包括:表单标识、字段标识、字段对应的值,一条业务数据对应一个表单标识,一条业务数据包含多个字段标识。3.根据权利要求1所述的基于MYSQL和MONGODB的动态表单实现方法,该方法还包括:设计MYSQL数据表,存储其中的数据结构,至少包含两张表,表单元信息表和表单字段表。4.根据权利要求1所述的基于MYSQL和MONGODB的动态表单实现方法,其特征在于,定义动态表单包括如下步骤:i)判断操作指令是新增还是编辑,如果是新增操作,执行ii),如果是编辑操作,执行iii);ii)在浏览器根据新建操作所指示的字段类型,通过拖拽的方式组合表单字段,每个字段会有默认的缺省构造,这时,表单定义已在内存中形成,之后执行iv);iii)从MYSQL中读取表单元信息和字段信息,加载到内存中,...

【专利技术属性】
技术研发人员:陈波
申请(专利权)人:北京海致网聚信息技术有限公司
类型:发明
国别省市:

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

1