医院设置
(一)需求分析与准备
- 在该模块建立接口,提供给医院的系统调用。
- 建立一张表来存储每个医院的信息。(编号,key)
- 创建实体类HospitalSet(可以创建一个BaseEntity把基本操作放在里面,然后把详细内容写在子类中。)(基本操作比如:id,创建时间,修改时间,逻辑删除标志等)(mybatis-plus实体类创建可参考:Mybatis-Plus实体类注解详解)
- 继承BaseMapper,创建mapper,因为是个接口,要加个组件扫描@MapperScan(“mapper的包名”)
- 继承IService接口,创建HospitalService接口;然后继承IService实现类ServiceImpl,创建HospitalServiceImpl并实现HospitalService接口。(IService,ServiceImpl是Mybatis-Plus提供的封装了一些基本服务的类和接口)
(二)Controller层业务实现
- 创建HospitalSetController 添加注解@RestController(主要就是包含了@Controller和@ResponseBody),@ResuestMapping(“访问路径”)
- 方法一:查询医院设置表中所以信息,HospitalService.list方法可以直接解决。方法上注解名@GetMapping(“findAll”)(用于网络调用该方法)
- 方法二:根据id删除医院设置信息,@DeleteMapping("{id}"),参数就需要获取传入的id,故使用@PathVariable Long id作为入参接收。(测试可以用Swagger2)
- 补充:写一个类来封装返回结果,准备一个枚举来描述项目中使用到的值具体含义。
- 带分页的条件查询:入参,当前页,每页信息数,医院名称,医院编号,后俩参数可空;返回值Page。(优化:可以把参数封装成VO实体类,并在如参出设置@RequestBody(required = false),后面的设置方便前端直接传JSON数据)
- 添加医院设置记录:传入HospitalSet,添加state和key后,把HospitalSet入库即可。(PostMapping(“地址”));
- 根据id获取医院设置
- 修改医院设置(也是用PostMapping)
- 批量删除医院设置(接收一个id列表,根据列表删除,直接调用service的removeByIds(isList)即可)。
(三)知识点总结:
- 得会Mybatis-Plus的实体类,Mapper,Service的创建和熟练使用其中的方法。
- Wrapper条件查询的使用必须熟练
- GetMapping,PostMapping,DeleteMapping的使用
- @PathVariable 后面接收的是Mapping("{}")中的值,@RequestBody(required = false)后面接收的是前端调用传来的JSON数据。
- @ResponeBody把返回的数据用jackson转成Json数据。
- 学会Swagger2的使用。