成功解决: Mybatis懒加载导致返回前端数据json序列化错误

记录一个遇到的很细节的问题。情况是这样的:SSM框架集成jackson,使用分页插件pageInfo封装分页查询信息返回前端json数据,但是使用postman测试时报500错误。
成功解决: Mybatis懒加载导致返回前端数据json序列化错误_第1张图片
谷歌搜索了很多,并没有实质的解决,终于过了三天,直到我导入jsqlparser依赖才有了进展(jsqlparser是一个sql 解析工具)

		<!--分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>1.2</version>
        </dependency>

功能上只需要返回分页信息,所以一开始没有导入jsqlparser依赖。在尝试导入此依赖之后,报错改变了,谷歌一下终于找到了原因——Mybatis懒加载导致返回前端数据json序列化错误
导入jsqlparser依赖后报错信息如下:
成功解决: Mybatis懒加载导致返回前端数据json序列化错误_第2张图片
这个报错问题就是mybatis懒加载导致的问题。

解决办法有两种:

  1. 关闭/不启用mybatis懒加载(mybatis默认关闭)
  2. 在所有相关的类前加上@JsonIgnoreProperties, 作用是json序列化时忽略bean中的一些属性序列化和反序列化时抛出的异常
 @JsonIgnoreProperties(value = {"handler"})

成功解决: Mybatis懒加载导致返回前端数据json序列化错误_第3张图片
成功解决: Mybatis懒加载导致返回前端数据json序列化错误_第4张图片
最后完美填坑

你可能感兴趣的:(消灭Bug,前端,json,spring,boot)