学习Java项目--尚庭公寓--第10天

一、项目开发-后台管理

2、公寓信息管理

2.8图片上传管理

  1. 图片上传接口接收的是图片文件,返回的Minio对象的URL。
  2. 在common模块配置minio
  3. 编写upload方法,MP中没有定义好的方法,只能自己编写。较繁琐。用到了输入流
  4. minioclient中的putobject方法可以将输入流上传
  5. 110-尚庭公寓-项目开发-后台管理-公寓管理-上传图片-异常处理_哔哩哔哩_bilibili这个视频里面提到了存在的一些问题,并做了改正
  6. SpringMVC全局异常处理,由于之前的接口都没考虑如果遇到异常怎么做,就要用到这个

2.9公寓管理

  1. 里面要实现6个接口:保存或更新公寓信息、根据条件分页查询公寓列表、根据ID获取公寓详细信息、根据ID删除公寓信息、根据ID修改公寓公布状态、根据区县ID查询公寓信息列表。
  2. 保存或更新公寓信息接口:因为需要的信息不止公寓信息一张表,还需要其他表,所以就自定义了一个VO类作为请求参数。
  3. 因为涉及到多表,所以要自己编写方法去实现,不能用MP的方法了
  4. 修改公寓信息的逻辑:对于公寓表,可以直接修改,但是对于公寓表对应的图片、标签等表,应先删除原有的集合,再把收到的新集合插入。
  5. 可以直接用父类的save方法,并把vo参数传给他,这个save方法只会处理公寓信息,不管其他表的信息,也不影响其他表的信息
  6. MP中的通用Service中有批量插入,但是通用Mapper中没有批量插入
  7. 这个接口也比较繁琐
  8. 在Java类上使用@Builder注解后,不能再直接使用new关键字来创建该类的实例。这是因为@Builder注解会自动为您的类生成一个构建器模式的构造方法,这个方法会生成一个带有所有属性的实例。同时,@Builder注解会私有化默认的无参构造函数,以防止直接通过new关键字创建实例。

    要创建使用了@Builder注解的类的实例,您应该使用构建器提供的builder()方法来初始化一个构建器对象,然后通过设置构建器对象的属性来构建实例,并最终使用build()方法来获取最终的对象实例。这种方式提供了一种更安全、更灵活的对象创建方式,尤其是当您需要设置多个属性或者处理复杂的构造逻辑时

  9. 根据条件分页查询公寓列表:

  10. 分页查询用到了MP中的IPage,可以创建一个VO来继承之前的信息类,来实现扩展

  11. 多表查询,还要自定义sql来实现

  12. xml里面编辑动态过滤条件

  13. 这个接口上强度了,强烈建议自己实现一遍

  14. 根据ID获取公寓详细信息:用在修改公寓时的公寓回显上。

  15. 这个接口也涉及到了多表查询,但是不能像上一个接口一样,自己编写sql语句进行查询,因为就变得特别复杂了,而是在代码中完成表的关联操作,而不是在sql语句中join。而且这个接口只涉及到一个公寓信息,所以不会向数据库请求很多次,但是上一个接口涉及到很多公寓,每次查询一个公寓就会请求一次数据库,如果在代码中完成关联就会麻烦。

  16. 自定义sql,就要注入一个mapper,最终要查哪张表,就注入对应的mapper

  17. 当需要大量的set操作时,可以考虑BeanUtils.properties来代替

  18. 这个接口也比较麻烦

  19. 根据id删除公寓信息:

  20. 涉及到自定义异常类120-尚庭公寓-项目开发-后台管理-公寓管理-公寓信息-删除-完善_哔哩哔哩_bilibili

  21. 根据ID修改公寓发布状态
  22. 这个里面的泛型要填自己要修改的表
  23. 先用eq确定哪个公寓,再用set来设置状态,最后将过滤器传给service.update()

二、云原生实战:k8s

三、代码生成器

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值