黑马程序员2023 JavaWeb项目-苍穹外卖前五天课程练习小结

1 选择和老师一样的配置。 nginx 在 Windows 上可以启动,那就一起翻开之前尘封在柜子里的 Windows 电脑。不能因为配置问题,就卡住了。

2 热情看到结果后只增不减。离自己随心所欲的 build 各种小玩意,就差 77四十九个项目的联系吧。但是,做自己热爱的事情,真的爽。每次解决一个小 bug 的满血复活的快乐。即便有问题,也没有关系,认真排查以后还是可以 debug 成功的。再不济,还可以找高手请教。

3 见多识广诚不欺我。第五天学到了 Redis,这很多命令和 Python 几乎一模一样嘛。都离不开基本数据结构和基本操作(增删改查)。照着这个逻辑来猜就可以了。

zset 有序集合。只是实现细节的语法上略有不同。而聪明的 IDEA 已经可以自动补全后续的属性方法。所以在写的时候知道要 new RedisTemplate 对象,调 opsFor.. 相应的对象就可以看到其方法的调用了。

4 第四天是实验课,根据需求看着。文件里缺少。但是基本流程已经可以自己实现,有几个细节差异:

  • 1 builder 的用法还不够炉火纯青。在传给 Mapper 的时候,我会直接想到把 参数传过去:
    • 比如根据菜品的分类 id 查询菜品的时候,老师的写法,直接先 build 好一个对象,再传给 Mapper:
    • Dish dish = Dish.builder().categoryId(categoryId).status(StatusConstant.ENABLE).build() return dishMapper.list(dish);
  • 2 xml 里写 insert 的时候,没有加上 parameterType。我的代码也没有报错,但是,写上会更明确,也更便于维护;
  • 3 返回的 List 里面包了对象,一开始声明的时候最好也带上。
  • 4 套餐的分页查询里,要查到 套餐分类,但是数据层面绑定的是 套餐分类id;所以返回前端的时候,我自己写了 Setmeal,而不是 SetmealVO,前端显示的时候,没有报错,只是分类没有显示出来。当时测试的时候就感觉少点什么。

修改后就显示出来了:

  • 5 起售/停售 套餐的业务设置:(我忽略了如果套餐里有菜品停售,就不能起售这个套餐)

总结:这次自己独立完成了套餐管理模块,还是很有成就感的。跟老师的实现方案对比时,也体会到了一些实现细节上可以改进的地方。更重要的是,现在更加重视课程一开始需求分析的地方了。之前总是会对代码实现部分更加激动。现在也感受到了前面业务需求分析的重要性。


了解 小匚的个人博客 的更多信息

订阅后即可通过电子邮件收到最新文章。

了解 小匚的个人博客 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读

了解 小匚的个人博客 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读

退出移动版