MyBatis小插曲\ lombok的坑:VO类继承父类打印不全的问题

模拟问题场景

在我们 向前端传递参数的时候,经常会出现用到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的方式来解决这个问题。

最终结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shn!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值