您现在的位置是:首页 > 正文

自定义表单

2024-01-30 23:21:49阅读 0

https://www.yuque.com/variantdev/vform

经常有很多VForm的用户大佬咨询,要使用VForm这种非常灵活的前端表单,后端对应的数据库应该如何设计?

 

作为一个曾经的全栈工人,这里给出几个比较浅显的解决方法:

 

1. 最简单的方法,当然是用NoSQL数据库或者SQL数据库的json字段类型

NoSQL数据库一般就选择Mongo DB,MySQL 5.7以上版本新增json字段类型,都可以用于保存动态表单的数据。

这种方法的优势就是足够简单,缺点也很明显,查询数据和统计分析都不太方便,尤其是表单数据结构经常变动的场景。

 

2. 第二种方法,可以用SQL数据库的列式存储

这种方法相当于将数据库表的一行保存一条数据记录,调整为多行保存一条数据记录,每一行对应一个表单字段,在后端接口开发上需要作出相应的调整,缺点依然是查询数据和统计分析都不太方便。

 

3. 第三种方法,用支持实体字段动态增删的ORM来实现数据存储。

可以基于JDBC封装一个动态调整表结构的ORM,表单的每一个字段对应于数据库表的每一列。

这种方式的优点是查询数据和统计分析比较方便,缺点是复杂度高,非专业、资深后端人员不推荐使用。

 

以上建议仅供参考!仅供参考!!

 

 

网站文章

  • Spring Transaction学习笔记--编程式事物声明

    一、编程式事物流程 二、编程式事物例子 一、编程式事物流程 编程式事物实现主要有两种方法,一种是使用TransactionTemplate,另一中就是使用PlatformTransactionManager.这里我主要介绍前者的使用方式。 1、 准备jdbc.properties配置数据库需要的信息,将配置属性注入com.mchange.v2.c3p0.ComboPo...

    2024-01-30 23:21:41
  • 微软手机停止服务器,黯然退场!微软手机操作系统停更 比尔·盖茨多次痛惜错过机会...

    微软手机停止服务器,黯然退场!微软手机操作系统停更 比尔·盖茨多次痛惜错过机会...

    图为无关微软的移动操作系统停更了。微软正式宣布,12月10日起,将停止对Windows 10 Mobile最新版本的支持。Windows phone仍然可以运行,但运行最后官方支持的Windows 1...

    2024-01-30 23:21:11
  • 进制转换(java实现)

    405. 数字转换为十六进制数 StringBuilder 要求返回字符串,使用StringBuilder。StringBuilder是线程不安全的,但是相对于StringBuffer速度较快,虽然S...

    2024-01-30 23:21:04
  • 判断一棵树是否为平衡二叉树

    平衡二叉树即为树中任意节点的左右两子树高度差不超过1struct TreeNode{ int val; TreeNode* left; TreeNode* right; TreeNode(int a) :val(a), left(NULL), right(NULL) {};};struct rType { bool isBalanced; int height; rType...

    2024-01-30 23:20:57
  • C++ QT CRC16校验 函数封装 最新发布

    CRC16 C++ QT QString的校验方式

    2024-01-30 23:20:28
  • Typescript学习(二):编译选项

    Typescript学习(二):编译选项

    这个strict相关标志位的一个总开关, 设置为true会启用全部compilerOptions.strict开头的选项和其他相关的选项, 如compilerOptions.strictNullChe...

    2024-01-30 23:20:21
  • 【项目原理】DRM驱动概念、组成、框架、源码分析

    【项目原理】DRM驱动概念、组成、框架、源码分析

    Linux 中的驱动和驱动是两种不同的图形驱动方式,它们之间有一些区别。DRM驱动:总之,一句话,DRM是Linux目前主流的图形显示框架,相比FB架构,DRM更能适应当前日益更新的显示硬件。

    2024-01-30 23:20:14
  • LInux——五种IO模型

    LInux——五种IO模型

    Linux中的IO简述IO主要分为以下的三种:内存IO网络IO磁盘IO通常我们所说的IO是后两者,Linux中无法直接操作IO设备,必须通过系统调用请求kernal来协助完成IO的动作,内存会为每一个...

    2024-01-30 23:20:06
  • PageHelper 分页查询「实现篇」

    两种情况分两种情况:查出来为 PageQueryRespDTO查出来直接是 Model查出来为 PageQueryRespDTOpublic PageInfo<PageQueryRespDTO> qu...

    2024-01-30 23:19:36
  • 洛谷题目目录 热门推荐

    #1 新手村 关卡1-1 洛谷的第一个任务 超级玛丽游戏(洛谷-P1000):点击这里 A+B Problem(洛谷-P1001):点击这里 小玉买文具(洛谷-P1421):点击这里 小鱼的游泳时间(...

    2024-01-30 23:19:28