存取json数据到数据库

存取json数据到数据库

一、方案实现:

开发中可能会遇到这样的需求:比如说页面的一个N*N的表格中需要存取多个字段,如下图所示,很明显这里是需要支持动态添加的,如果此时我们建立对应的字段如插入的话,显然是一种比较麻烦的方式,所以我们可以使用在对应的实体类中添加一个List或者是JsonArray字段来表达对应的字段。如图二所示:

存取json数据到数据库_第1张图片
存取json数据到数据库_第2张图片

二、方案所需环境

①:MyBatis-Plus

②:MySQL等

如果您的需求里仅仅是将所存入数据作为一个存储持久化和展示的功能,那么对您的数据库版本基本无要求,只需要使用MyBatis-Plus的注解即可,@TableField(typeHandler = FastjsonTypeHandler.class)

点进去MyBatis-Plus中FastjsonTypeHandler的源码,查看继承关系,我们可以看到,发现其最上级继承接口是TypeHandler

TypeHandler :类型处理器用于 JavaTypeJdbcType 之间的类型转换,以实现与数据库映射JSON读取。

所以,可以断定该类可以处理JSON数据,以提供类型转换的功能。
存取json数据到数据库_第3张图片

注意:如果您有查询JSON的需求,需要MySQL的版本在8.0以上,8.0以上提供了查询的语句

三、接口测试,前端传参要求:

传参要求一定是要JSON数据一定要在[]内(实则是构造json的格式),否则会报错JSON解析失败

存取json数据到数据库_第4张图片

存取json数据到数据库_第5张图片

成功实例化的数据在数据库中以当前格式存在。

由此,我们就用一个字段可以表示N+个字段。

你可能感兴趣的:(SpringBoot学习)