错误描述

Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 40, line 1, column 41"{\"hh\":\"159\",\"test\":\"aa\",59:16}"

背景

公司的后台服务是基于Springboot+Mybatis+Mysql进行的,在处理一个新需求的时候,需要新加一张含有Text长文本类型的字段的数据表。在使用mevan管理的Mybatis的插件来自动生成对应的实体类及通用单表操作函数。

问题现象

在对数据表进行增删改查测试的时候发现,Text长文本类型字段在进行写操作的时候可以正常执行,但是进行读取时数据一直读不到。

问题原因

考虑到其他字段调用mybatis生成的函数进行操作都没有问题,且程序中的逻辑非常简单。所以考虑是mybatis对text这种长字符串的类型的兼容不行。后来找公司其他同事询问,得到反馈他们也遇到过此类问题,查找后是因为mybatis自动生成代码和实体类的插件对text类型的长字符处理的不够智能导致的。

解决方式

在mybatis自动生成实体类和处理函数的配置文件中,对含有长字符类型字段的数据表进行特殊配置。需要对mybatis的表的结构进行特殊说明。

参考资料

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐