一、需求
目前的toString只会打印当前类的属性,希望在打印类信息的时候,如果类有父类,则把父类的所有信息也打印出来。
二、方案
1、使用Lombok
/**
* @author linzp
* @version 1.0.0
* CreateDate 2020/9/23 14:05
*/
@Data
@ToString(callSuper = true)
@TableName("user")
public class User extends BaseEntity implements Serializable {
private static final long serialVersionUID = -3952430900388756368L;
/**
* 如果字段名称和实体名称不一致的话,TableField可以进行字段值的映射,
*/
@TableField("name")
private String userName;
@TableField("age")
private String age;
}
如上,通过在类上加 @ToString(callSuper = true)
即可
2、手动重写 toString方法,调用父类的toString打印信息
/**
* @author linzp
* @version 1.0.0
* CreateDate 2020/9/23 14:05
*/
@Data
@TableName("user")
public class User extends BaseEntity implements Serializable {
private static final long serialVersionUID = -3952430900388756368L;
/**
* 如果字段名称和实体名称不一致的话,TableField可以进行字段值的映射,
*/
@TableField("name")
private String userName;
@TableField("age")
private String age;
@Override
public String toString() {
return super.toString() + "User{" +
"userName='" + userName + '\'' +
", age='" + age + '\'' +
'}';
}
}
这里如果手动重写了,方法优先级会比Lombok的高。