模拟问题场景
在我们 向前端传递参数的时候,经常会出现用到VO类的情况
而VO这个扩展类,通常大部分的属性都和基类(对应数据库的真正实体类)有很多重复
这时候我们就可以直接通过继承来进行实现。
假如我们现在 有Article 和 User两个表 对应两个实体类,但是要创建一个VO类,内容包含了Article的所有属性 和 User的userName属性。如下图所示:
Article和User的实体类


ArticleVO类

MyBatis的接口和xml


对接口进行测试:

出现问题
我们可以通过对接口测试的地方 看到,打印的内容并不是 将我们想要的所有信息都进行一个打印,而是只打印了一个 username这个属性!
定位问题
猜测原因:
1.查询数据库的内容 没有传递给ArticleVO
2.打印的问题
对Test类进行断点调试:

这时候 我们就可以判断是println的问题了
而实现print的输出实际的toString的内容,其实也就是lombok重写toString方法的时候,并没有写全
解决问题
这个时候我们已经知道是toString的问题,那我们就可以通过在这个VO类中重写toString的方式来解决这个问题。


最终结果
