手记

【备战春招】第18天 封装查询医生信息接口

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第三章 使用Vue3.0+SpringBoot实现医护人员管理

课程讲师: 神思者

课程内容:

一、编写持久层代码

DoctorDao.xml文件中,声明SQL语句。

<select id="searchContent" parameterType="int" resultType="HashMap">

    SELECT "photo",

           "pid",

           "birthday",

           "uuid",

           "hiredate",

           "email",

           "remark",

           "tag",

           "address",

           "description"

    FROM HOSPITAL.DOCTOR

    WHERE "id" = ${id}

</select>


com.example.hospital.api.db.daoDoctorDao接口中,实现DAO方法。

public interface DoctorDao {

    ……

    public HashMap searchContent(int id);

}

二、编写业务层代码

com.example.hospital.api.serviceDoctorService接口中,声明抽象方法。

public interface DoctorService {

    ……

    public HashMap searchContent(int id);

}


com.example.hospital.api.service.implDoctorServiceImpl类中,实现抽象方法。

@Service

@Slf4j

public class DoctorServiceImpl implements DoctorService {

    ……

    

    @Override

    public HashMap searchContent(int id) {

        HashMap map = doctorDao.searchContent(id);

        JSONArray tag = JSONUtil.parseArray(MapUtil.getStr(map, "tag"));

        map.replace("tag", tag);

        return map;

    }

}

三、编写Web层代码

com.example.hospital.api.controller.form包创建SearchDoctorContentForm类。

@Data

public class SearchDoctorContentForm {

    @NotNull(message = "id不能为空")

    @Min(value = 1, message = "id不能小于1")

    private Integer id;

}


com.example.hospital.api.controllerDoctorController类中,声明Web方法。

@RestController

@RequestMapping("/doctor")

public class DoctorController {

    ……

    @PostMapping("/searchContent")

    @SaCheckLogin

    @SaCheckPermission(value = {"ROOT", "DOCTOR:SELECT"}, mode = SaMode.OR)

    public R searchContent(@RequestBody @Valid SearchDoctorContentForm form) {

        HashMap map = doctorService.searchContent(form.getId());

        return R.ok(map);

    }

}

课程收获:通过视频加文档结合的方式,学习了封装查询医生信息接口,期待后续学习!
0人推荐
随时随地看视频
慕课网APP