被老大指正的错误:
1、根据id获取统一get请求
2、如果直接用实体类去更新,要使用updateById方法,update(entity, null)不会使用entity的id当作查询条件去更新,只会把entity当作set的条件
总结:
1、update:更新传回数据的所有字段,没有传回的字段保持原样;
updateByPrimaryKey:对实体类的字段全部更新(不判断是否为Null),即如果字段为空就更新为空;
updateByPrimaryKeySelective:会对实体类字段进行判断再更新(如果为Null就忽略更新),如果字段为空,忽略不更新。
2、mybatis-plus-join的关联查询问题,数据库的json字段,实体类封装成包装类,关联查询得不到数据,需要单独处理:
获取所有订单信息: List
设置集合方便遍历的时候统一修改:Map<Long, SalesOrderDto> salesOrderMap = salesOrders.stream().collect(Collectors.toMap(SalesOrderDto::getId, s -> s));
3、@MappingTarget 用于更新已有对象(一知半解,不懂)
4、自定义IBjyDbBasicService: 批量查询方法
default List
return getBaseMapper().selectBatchIds(new HashSet<>(idList));
}
碎碎念:Java不只有增删改查,还有理不清的业务逻辑和因为太菜看不懂的晦涩代码。