java通过访问修饰符private封装字段,外部只能通过getter和setter方法访问字段,这就是封装。但并不是全部无脑private +getter和setter方法就可以了,如果这样,和public没什么区别。
真正的封装是暴露行为而不是数据,比如支付类,里面有status状态字段,不应该暴露setStatus()让外界随便修改状态,而是添加支付pay()和取消支付cencel()等方法,让外界通过这些业务方法来修改状态。

前端需要新加一个金额字段显示,金额 = 单价*主数量。
可以在接口实现类进行循环遍历计算赋值,也可以在xml的sql语句中计算赋值,
也可以在前端赋值。
但这种,也可以直接通过amount的Getter计算,如下
java
/** 金额 */
@Excel(name = "金额")
@TableField(exist = false)
@ApiModelProperty("金额")
private BigDecimal amount;
/**
* 获取金额(主数量 * 单价)
* @return 金额
*/
public BigDecimal getAmount() {
if (mainQuantity != null && unitPrice != null) {
return mainQuantity.multiply(unitPrice);
}
return BigDecimal.ZERO;
}
外部方法,给实体类的实例对象取值赋值都是通过getter和setter方法。
一个查询接口过程,其他用到getter和setter方法的地方。
GET /store/storeLedger/list/data?tradeNo=123&storeCode=ABC


