本说明书涉及数据库应用
技术领域:
:,尤其涉及一种动态编辑数据结构并生成数据库表的实现方法。
背景技术:
::随着计算机硬件和软件的发展,数据库技术也不断发展,已经形成了各种类型的数据库应用技术。目前,在实际业务应用场景中,数据量越来越多,随着需求的不断变更,越来越多的数据管理需要一个数据模型来进行支持,以达到系统规范的管理数据信息,而在程序中数据库表往往并不能达到可视化操作的需求,给业务人员带来困难。基于此,需要能够对数据库表进行可视化操作,灵活维护数据模型、调整数据模型表结构的方案,以更方便的维护数据。技术实现要素:本说明书一个或多个实施例提供一种动态编辑数据结构并生成数据库的实现方法。用以解决如下技术问题:业务人员不能根据业务需要灵活维护数据模型、调整数据模型的表结构,不利于业务数据维护的问题。为解决上述技术问题,本说明书一个或多个实施例是这样实现的:本说明书一个或多个实施例提供的一种动态编辑数据结构并生成数据库表的实现方法,包括:将用户编辑的数据模型信息转换为模型参数发送给后端;比较所述模型参数与数据库中的参数信息是否相同;若不相同,创建所述数据模型信息对应的数据模型;将用户编辑的字段信息转换为字段参数发送给后端;根据所述字段参数更新所述数据模型的表结构。用户可以根据实际需要,编辑数据模型信息与字段信息,用以动态生成数据库表。可选地,在所述根据所述字段参数更新所述数据模型的表结构之后,所述方法还包括:根据所述数据模型的表结构更新用户视图。可选地,所述比较所述模型参数与数据库中的信息是否相同,具体包括:比较所述模型参数与数据库中存在的字段参数是否相同,若相同,则返回错误代码。可选地,比较所述模型参数与数据库中存在的模型参数是否相同,若相同,则返回错误代码。可选地,所述若不相同,创建所述数据模型信息对应的数据模型,具体包括:若所述模型参数与所述数据库中的参数信息不相同,接收所述模型参数中的模型名称参数,判断所述数据库中的参数信息是否存在所述模型名称参数。可选地,若不存在,创建所述数据模型信息对应的所述数据模型;若存在,将数据库中存在的所述模型名称参数对应的数据模型删除,创建所述数据模型信息对应的所述数据模型。可选地,若所述创建所述数据模型信息对应的所述数据模型成功,根据所述数据模型更新用户视图。可选地,若所述创建所述数据模型信息对应的所述数据模型失败,回滚后更新用户视图。可选地,所述根据所述字段参数更新所述数据模型的表结构,具体包括:根据所述字段参数生成sql语句,执行所述sql语句。可选地,所述模型参数和所述字段参数,具体包括:所述模型参数和所述字段参数为json格式的参数。本说明书一个或多个实施例采用的上述至少一个技术方案能够达到以下有益效果:由用户编辑的数据模型信息和字段信息动态生成数据模型和数据模型的表结构,方便用户根据业务需求创建或调整数据模型或者数据模型的表结构,有利于业务人员对业务数据的维护及录入。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书一个或多个实施例提供的一种动态编辑数据结构并生成数据库表的实现方法的流程示意图;图2为本说明书一个或多个实施例提供的一种动态编辑数据结构的流程图;图3为本说明书一个或多个实施例提供的数据模型用户视图展示图;图4为本说明书一个或多个实施例提供的用户编辑数据模型信息页的展示图;图5为本说明书一个或多个实施例提供的用户编辑字段信息页的展示图。具体实施方式本说明书实施例提供一种动态编辑数据结构并生成数据库表的实现方法。为了使本
技术领域:
:的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本说明书一个或多个实施例提供的一种动态编辑数据结构并生成数据库表的实现方法可以由用户编辑的数据模型信息和字段信息动态生成数据模型和数据模型的表结构,方便用户根据业务需求创建或调整数据模型或者数据模型的表结构,有利于业务人员对业务数据的维护及录入。java数据库连接(javadatabaseconnectivity,jdbc)是java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够执行结构化查询语言(structuredquerylanguage,sql)。它由一组用java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,目前主流的数据库持久层框架都是建立在jdbc的基础上简化操作的,目前得到了广泛的应用,用于本发明传达用户操作指令执行存储过程并更新到持久层。存储过程(storedprocedure)是在大型数据库系统中,一组为了完成特定功能的sql语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍数的效率提升。应用于本说明书中。vue是一套构建用户界面的渐进式框架,可以通过尽可能简单的应用程序接口(applicationprogramminginterface,api)实现响应的数据绑定和组合的视图组件,用于本说明书构建操作界面及数据模型展现。构建操作界面还可以用react框架或者angular框架等,在此不做具体限定。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本说明书一个或多个实施例提供的一种动态编辑数据结构并生成数据库表的实现方法的流程示意图。s101:将用户编辑的数据模型信息转换为模型参数发送给后端;在本说明书一个或多个实施例中,用户编辑的数据模型信息可以为模型编号、模型名称、模型类型、模型状态、备注等信息。其中模型编号可以为阿拉伯数字、罗马数字等,模型类型包括字段、列表,模型状态包括可用、不可用等,模型名称为业务人员根据具体业务创建的,如业务人员要登记人员信息,模型名称可以为人员登记表、人员信息表等,备注为对数据模型的说明,可以说明数据模型是否在测试、数据模型的用途等。模型参数和字段参数为轻量级数据交换格式(javascriptobjectnotation,json)的参数。在本说明书一个或多个实施例中,将用户编辑的数据模型信息转换为json格式的模型参数通过http请求发送给后端。s102:比较模型参数与数据库中的参数信息是否相同;在本说明书的一个或多个实施例中,数据库是原本就存在的,可以为oracle数据库(oracledatabase,oracle)。数据库中的参数是在用户编辑新的数据模型信息之前就已经存在的,在后端将json格式的模型参数与数据库中原本就存在的参数做比较。比较模型参数与数据库中存在的字段参数是否相同,若相同,则返回错误代码。在本说明书的一个或多个实施例中,模型参数包括模型编号参数,模型名称参数、模型类型参数、模型状态参数、备注参数等。后端在接收了模型参数后,首先检查数据库中有没有与模型名称参数相同的字段参数,比如模型名称参数为tablenamemodel,字段参数中也存在tablenamemodel,此时向用户界面返回错误代码[501],其中错误代码可以为标准错误代码,也可以自定义错误代码。值得注意的是,不仅仅是模型名称参数存在相同,才返回错误代码,模型编号参数等存在相同也会向用户界面返回错误代码。比较模型参数与数据库中存在的模型参数是否相同,若相同,则返回错误代码。在本说明书一个或多个实施例中,若模型参数与数据库中存在的字段参数不相同,去检查模型参数与数据库中存在的模型参数是否相同。例如若数据库中存在的字段参数与后端收到的模型参数不相同,去检查数据库中有没有与后端收到的模型名称参数相同的模型名称参数,比如后端收到的模型名称参数为tablenamemodel,若数据库中存在的模型名称参数有tablenamemodel,此时向用户界面返回错误代码[502],其中错误代码可以为标准错误代码,也可以自定义错误代码。值得注意的是,不仅仅是模型名称参数存在相同,才返回错误代码,模型编号参数等与数据库中已经存在的模型编号参数相同也会向用户界面返回错误代码。通过比较模型参数与数据库中存在的字段参数是否相同,再比较模型参数与数据库中存在的模型参数是否相同,通过两次比较,保证数据库中不存在相同的字段信息和模型信息,避免数据库紊乱,查询信息不准确。s103:若不相同,创建数据模型信息对应的数据模型;在本说明书一个或多个实施例中,将json格式的模型参数与数据库中原本就存在的参数做比较,例如用户编辑的数据模型信息转换为json格式的模型参数中存在模型名称参数tablenamemodel,将tablenamemodel与数据库中存在的参数做比较,若模型名称参数tablenamemodel与数据库中存在的参数不同,后端会创建用户编辑的数据模型信息对应的数据模型。若模型参数与数据库中的参数信息不相同,接收模型参数中的模型名称参数,判断数据库中的参数信息是否存在模型名称参数。在本说明书的一个或多个实施例中,若检查通过后,通过jdbctemplate组件中execute方法执行存储过程createtable。在存储过程中接收模型名称参数,例如模型名称参数为tablenamemodel,再次检查一遍数据库中有没有与模型名称参数tablenamemodel相同的模型名称参数。若不存在,创建数据模型信息对应的数据模型;在本说明书的一个或多个实施例中,若数据库中没有与模型名称参数tablenamemodel相同的模型名称参数,创建数据模型信息对应的数据模型。若存在,将数据库中存在的模型名称参数对应的数据模型删除,创建数据模型信息对应的数据模型。在本说明书一个或多个实施例中,若数据库中有与模型名称参数tablenamemodel相同的模型名称参数,由于前边步骤中已经检查认为没有与模型名称参数相同的模型名称参数,判定新建数据模型,所以将数据库中模型名称参数对应的数据模型删除,然后创建用户编辑的数据模型信息对应的数据模型。存储过程执行完毕,也就是数据模型建立完毕,调用jdbctemplate组件中的update方法执行sql语句为数据库表添加注释。若创建数据模型信息对应的数据模型成功,根据数据模型更新用户视图。在本说明书的一个或多个实施例中,创建数据模型信息对应的数据模型成功后,向用户返回[200]成功代码,根据数据模型更新用户视图,将新创建的数据模型展示在更新的用户视图上。其中成功代码可以为标准成功代码,也可以自定义成功代码。若创建数据模型信息对应的数据模型失败,回滚后更用户视图。在本说明书的一个或多个实施例中,若创建数据模型信息对应的数据模型失败,回滚后更新用户视图。其中回滚指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚后更新的用户视图和用户编辑数据模型信息创建数据模型之前的用户视图相同。s104:将用户编辑的字段信息转换为字段参数发送给后端;根据字段参数生成sql语句,执行sql语句。在本说明书一个或多个实施例中,字段参数也为json格式。我们把表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,就像在通讯录数据库中某个人全部的信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录。字段是比记录更小的单位,字段集合组成记录,每个字段描述数据模型的某一特征。在建好数据模型之后可以创建相应的数据模型的数据结构或者说数据模型的表结构,其中数据模型的表结构包含字段信息,将用户编辑的字段信息转换为json格式的字段参数通过http请求发送给后端。字段信息可以根据模型名称具体定义,例如模型名称为人员登记表,字段信息可以包括姓名、年龄、籍贯、学历、电话号码、是否婚配等组成人员信息登记表。又如模型名称为模型测试表,字段信息可以包括测试开始时间、测试结果、测试结束时间等组成模型测试表。s105:根据字段参数更新所述数据模型的表结构。在本说明书一个或多个实施例中,在将用户编辑的字段信息转换为json格式的字段参数通过http请求发送给后端后,后端根据json格式的字段参数,由字段参数生成sql语句,执行sql语句,更新数据模型的表结构,形成一个完整的数据库表。根据数据模型的表结构更新用户视图。在本说明书的一个或多个实施例中,在根据字段参数更新数据模型的表结构之后,可以根据数据模型的表结构更新用户视图,用户视图可以直观的向业务人员展现所创建的数据模型是否合理,可根据用户视图进行一系列的操作,比如若用户通过用户视图发现创建的数据模型的表结构少了某个字段信息,可以进入模型定义编辑页面,增加某一字段,也可以直接删除新建的数据模型,删除之后根据业务需要重新创建数据模型。图2为本说明书一个或多个实施例提供的一种动态编辑数据结构的流程图;在本说明书一个或多个实施例中,用户通过视图展现选择某一个数据模型进行模型定义编辑,也就是编辑字段信息,程序将用户编辑的字段信息转换为json格式的字段参数发送给后端controller层,后端业务层根据json格式的字段参数组件sql语句,jdbctemplate组件执行sql语句,通过执行sql语句,存储过程对传递进来的参数进行持久层数据库表的更新操作,更新数据库的表结构,若数据库表更新成功,则返回到视图层,进行视图展现,展示更新成功的数据库表,若数据库表更新失败,则进行回滚操作,回滚后更新用户视图,更新的用户视图和用户编辑字段信息之前的用户视图相同,进入视图展现。图3为本说明书一个或多个实施例提供的数据模型用户视图展示图;在本说明书一个或多个实施例中,用户视图展示图中包含关键字查询搜索框,搜索、新增、模型定义等自定义按钮。其中,用户可以通过在搜索框中输入相应内容进行查询信息。点击新增按钮可以进入数据模型信息编辑页面,编辑想要新增的数据模型信息。点击模型定义按钮可以进入模型定义编辑页面,编辑数据模型的字段信息。其中还包括模型创建时间和修改时间,创建时间和修改时间是获取的创建或修改数据模型时的系统时间,在用户视图展示图的最右边,还有编辑和删除按钮,用户可通过点击编辑或者删除按钮对所选的数据模型进行维护或者删除。图4为本说明书一个或多个实施例提供的用户编辑数据模型信息页的展示图;在本说明书一个或多个实施例中,当用户点击数据模型用户视图展示图中的新增按钮后,会自动弹出编辑数据模型信息页。值得注意的是,本说明书仅仅是展示的一个具体实施例,不仅仅局限于弹出编辑数据模型信息页,也可以跳转到新页面展示编辑数据模型信息页,在此不做具体限定。由图4可以看到,编辑数据模型信息页包括用户可自主编辑模型编号、模型名称、模型类型、模型状态、备注等信息,用户在编辑完成后可以点击保存按钮进行保存,也可以取消编辑数据模型信息。给用户提供了良好的人机交互界面,有利于用户的实际操作。图5为本说明书一个或多个实施例提供的用户编辑字段信息页的展示图。在本说明书一个或多个实施例中,当用户点击数据模型用户视图展示图中的模型定义按钮后,会自动弹出数据模型字段管理编辑页。值得注意的是,本说明书仅仅是展示的一个具体实施例,不仅仅局限于弹出数据模型字段管理编辑页,也可以跳转到新页面展示数据模型字段管理编辑页,在此不做具体限定。由图5可以看到,数据模型字段管理编辑页包括模型字段、字段说明、操作等,在输入框内输入相应的字段信息,点击添加按钮,即可新增字段,编辑完所有字段信息之后点击确认按钮完成数据库表的更新。本说明书通过上述实施例解决了技术人员或者业务人员不能够灵活维护数据模型的问题,能够及时的根据业务需求调整数据模型,方便持久化录入数据。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种动态编辑数据结构并生成数据库表的实现方法,其特征在于,包括:
将用户编辑的数据模型信息转换为模型参数发送给后端;
比较所述模型参数与数据库中的参数信息是否相同;
若不相同,创建所述数据模型信息对应的数据模型;
将用户编辑的字段信息转换为字段参数发送给后端;
根据所述字段参数更新所述数据模型的表结构。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述字段参数更新所述数据模型的表结构之后,所述方法还包括:
根据所述数据模型的表结构更新用户视图。
3.根据权利要求1所述的方法,其特征在于,所述比较所述模型参数与数据库中的信息是否相同,具体包括:
比较所述模型参数与数据库中存在的字段参数是否相同,若相同,则返回错误代码。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
比较所述模型参数与数据库中存在的模型参数是否相同,若相同,则返回错误代码。
5.根据权利要求1所述的方法,其特征在于,所述若不相同,创建所述数据模型信息对应的数据模型,具体包括:
若所述模型参数与所述数据库中的参数信息不相同,接收所述模型参数中的模型名称参数,判断所述数据库中的参数信息是否存在所述模型名称参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若不存在,创建所述数据模型信息对应的所述数据模型;
若存在,将数据库中存在的所述模型名称参数对应的数据模型删除,创建所述数据模型信息对应的所述数据模型。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述创建所述数据模型信息对应的所述数据模型成功,根据所述数据模型更新用户视图。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述创建所述数据模型信息对应的所述数据模型失败,回滚后更新用户视图。
9.根据权利要求1所述的方法,其特征在于,所述根据所述字段参数更新所述数据模型的表结构,具体包括:
根据所述字段参数生成sql语句,执行所述sql语句。
10.根据权利要求1所述的方法,其特征在于,所述模型参数和所述字段参数,具体包括:
所述模型参数和所述字段参数为json格式的参数。
技术总结本说明书实施例公开了一种动态编辑数据结构并生成数据库表的实现方法。该方法包括:将用户编辑的数据模型信息转换为模型参数发送给后端;比较所述模型参数与数据库中的参数信息是否相同;若不相同,创建所述数据模型信息对应的数据模型;将用户编辑的字段信息转换为字段参数发送给后端;根据所述字段参数更新所述数据模型的表结构。
技术研发人员:乔峰;徐同明;舒鹏飞;焦学瑞;于兆洋;汤继生;李伯钊;王少刚
受保护的技术使用者:山东浪潮通软信息科技有限公司
技术研发日:2020.11.30
技术公布日:2021.03.12