问题分析:
mysql8.0+之后数据库字段有json类型,开发中如果使用mybatis自动生成实体类和mapper文件等,json类型的字段会出现问题,因为mybatis不支持这个json字段的类型。json类型字段在mybatis中自动生成对应的实体类类型是Object,mapper文件里的类型是OTHER。
解决:
接收参数如果是json字符串,则修改实体类对应参数的Object类型改为String,mapper里面改为VARCHAR;
或者接收的参数实际是一个List的话,将Object改为对应的List,mapper不用修改。
mysql-mybatis插入数据库的json字段报错:cannot create a json value from a string with character set ‘binary‘
最新推荐文章于 2024-07-25 17:31:02 发布
在MySQL8.0及更高版本中引入了JSON字段类型,但MyBatis不直接支持。当使用MyBatis自动生成实体类和Mapper时,JSON字段会被映射为Object。为解决此问题,可以将实体类中的Object类型改为String,对应Mapper中的类型改为VARCHAR,若参数为列表,则可将Object改为List。
摘要由CSDN通过智能技术生成