搜索

工作日志Day n+1


发布时间: 2022-11-24 18:30:06    浏览次数:66 次

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

免责声明 工作日志Day n+1,资源类别:文本, 浏览次数:66 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 06:30:06。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/thelittlestar/p/16813638.html