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

news/2024/7/24 7:33:58 标签: java, spring

模拟问题场景

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

最终结果


http://www.niftyadmin.cn/n/176666.html

相关文章

idea远程debug服务器项目

1.配置idea远程debug 2.配置关键配置信息 ①调试名称(随便起名) ②远程机器IP ③调试开启的进程端口(随便只要不被占用即可使用) ④配置好①,②,③三个参数后生成的启动参数 ⑤选择模块就是服务器上打包的…

计算机专业来说是学习Python还是Java呢?

对于计算机专业的人来说,不应该着眼于选择哪门语言?你需要关注的是 如何进行编程。这是来自C之父Bjarne对这个问题的回答。曾经在一次讲座上,一位老师为问了Bjarne:我们应该教学生什么语言?Bjarne居然很耐心的回答了。Bjarne回答…

一文了解Jackson注解@JsonFormat及失效解决

背景 项目中使用WRITE_DATES_AS_TIMESTAMPS: true转换日期格式为时间戳未生效。如下: spring:jackson:time-zone: Asia/Shanghaiserialization:WRITE_DATES_AS_TIMESTAMPS: true尝试是否关于时间的注解是否会生效,使用JsonForma和JsonFiled均失效。 常…

【C++】特殊类的设计 + 单例模式

文章目录📖 前言1. 特殊类的设计1.1 设计一个类,不能被拷贝:1.2 设计一个类,只能在堆上创建对象:🏁方法一:🏁方法二:1.3 设计一个类,只能在栈上面创建对象&am…

理解对数——Napier和导数的发明(1614年)

Napier和他在1614年发明的对数(JOHN NAPIER AND THEINVENTION OF LOGARITHAMS 1614)E.W.Hobson (Ernest William Hobson)今年(译注:作者E.W.Hobson做报告的时间)将在爱丁堡皇家学会(the Royal Society of Edinburgh)的赞助(auspices)下举行庆祝活动(celebration)&am…

搭建GitLab服务器

GitLab 是一个非常优秀的开源git管理项目,小型企业可使用该软件 安装之前准备环境: ssh rpm -qa|grep -E “openssh” 防火墙 rpm -qa|grep -E “firewalld” wget rpm -qa|grep -E “wget” 1.安装SMTP服务 安装 GitLab 之前,需要配置 SMTP 电子邮件服务器,以便 GitLab …

Linux内核进程管理几种CPU调度策略

CPU调度我们知道,程序需要获得CPU的资源才能被调度和执行,那么当一个进程由于某种原因放弃CPU然后进入阻塞状态,下一个获得CPU资源去被调度执行的进程会是谁呢?下图中,进程1因为阻塞放弃CPU资源,此时&#…

【GIS资源分享】行政矢量数据、土地利用数据、城市数据等

本文搜集整理了一些GIS数据,以便大家学习交流,想要获取本文分享的数据,需要的评论区留言 或者关注新中地教育公号get 一、行政矢量数据 1、2021年5月最新全国县级行政矢量数据 链接: https://pan.baidu.com/s/1wIVnsnFBfWhA…