问题解决 | Mybatis懒加载导致返回前端数据json序列化错误

记录一个遇到的很细节的问题。情况是这样的:SSM框架集成jackson,使用分页插件pageInfo封装分页查询信息返回前端json数据,但是使用postman测试时报500错误。
在这里插入图片描述
谷歌搜索了很多,并没有实质的解决,终于过了三天,直到我导入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懒加载导致的问题。

解决办法有两种:

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

在这里插入图片描述
在这里插入图片描述
最后完美填坑
在这里插入图片描述

发布了28 篇原创文章 · 获赞 13 · 访问量 7820

猜你喜欢

转载自blog.csdn.net/y1534414425/article/details/104935700