2021-07-12【暑期实训04】day09

实现了老师表的增删改查

service层

@Service
public class TeacherService {
    @Resource
    private TeacherMapper teacherMapper;

    //查询老师基本信息
    public Teacher findById(int id){
        Teacher teacher = teacherMapper.selectByPrimaryKey(id);
        return  teacher;
    }
    public Teacher findByName(String name){
        Teacher teacher = teacherMapper.selectByName(name);
        return  teacher;
    }

    public List<Teacher> findAll(){
        List<Teacher> teacher = teacherMapper.selectAll();
        return teacher;
    }

    //删除老师
    public int delTeacher(int id ){
        return teacherMapper.deleteByPrimaryKey(id);
    }


    //添加老师
    public int addTeacher(Teacher teacher){
        return teacherMapper.insertSelective(teacher);
    }

    //更改老师信息
    public int updateTeacherInfo(Teacher teacher){
        return teacherMapper.updateByPrimaryKeySelective(teacher);
    }

    //按标签筛选
    public List<Teacher> findByGender(String gender){
        List<Teacher> teacher = teacherMapper.selectByGender(gender);
        return  teacher;
    }

    public List<Teacher> findByDname(String dname){
        List<Teacher> teacher = teacherMapper.selectByDname(dname);
        return  teacher;
    }

    public List<Teacher> findByGenderDname(String gender,String dname){
        List<Teacher> teacher = teacherMapper.selectByGenderDname(gender,dname);
        return  teacher;
    }
}

controller层

@RestController
@RequestMapping("/teacher")
public class TeacherController {
    @Resource
    private TeacherService teacherService;

    //查询基本信息
    @RequestMapping(value = "/findById")
    @ResponseBody
    public Teacher findById(HttpServletRequest request){
        return teacherService.findById(Integer.parseInt(request.getParameter("tea_id")));
    }

    @RequestMapping(value = "/findByName")
    @ResponseBody
    public Teacher findByName(HttpServletRequest request){
        return teacherService.findByName(request.getParameter("tea_name"));
    }

    @RequestMapping(value = "/findAll")
    @ResponseBody
    public List<Teacher> findAll(){
        return teacherService.findAll();
    }


    //删除老师信息
    @RequestMapping(value = "/delete")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public  Result delTeacher(HttpServletRequest request){
        int i = teacherService.delTeacher(Integer.parseInt(request.getParameter("tea_id")));
        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("");
        }
    }


    //按标签筛选
    @RequestMapping(value = "/findByGender")
    @ResponseBody
    public List<Teacher> findByGender(HttpServletRequest request){
        return teacherService.findByGender(request.getParameter("tea_gender"));
    }

    @RequestMapping(value = "/findByDname")
    @ResponseBody
    public List<Teacher> findByDname(HttpServletRequest request){
        return teacherService.findByDname(request.getParameter("tea_dname"));
    }


    @RequestMapping(value = "/findByGenderDname")
    @ResponseBody
    public List<Teacher> findByGenderGrade(HttpServletRequest request){
        return teacherService.findByGenderDname(request.getParameter("tea_gender"),request.getParameter("tea_dname"));
    }



    /**
     * 添加老师
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/addTea")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Teacher tea =new Teacher();
        tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        tea.setTeaName(request.getParameter("tea_name"));
        tea.setTeaGender(request.getParameter("tea_gender"));
        tea.setTeaDname(request.getParameter("tea_dname"));
        tea.setPosition(request.getParameter("position"));
        tea.setHighestEdu(request.getParameter("highest_edu"));
        tea.setTeaTelNum(request.getParameter("tea_tel_num"));
        tea.setFinalEdu(request.getParameter("final_edu"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("tea_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
        }
        tea.setTeaBirthday(date);

        tea.setMailAddress(request.getParameter("mail_address"));
        tea.setWorkAddress(request.getParameter("work_address"));
        tea.setPersonIntro(request.getParameter("person_intro"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("tea_doc_time")!=null) {

            date1 = simpleDateFormat1.parse(request.getParameter("tea_doc_time"));
        }
        tea.setTeaDocTime(date1);

        Date date2=new Date();
        if(request.getParameter("tea_master_time")!=null) {

            date2 = simpleDateFormat1.parse(request.getParameter("tea_master_time"));
        }
        tea.setTeaMasterTime(date2);
        tea.setSearchDirection(request.getParameter("search_direction"));

        if(file!=null) {
            tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=teacherService.addTeacher(tea);

        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("操作成功");
        }

    }

    /**
     * 老师基本信息更改
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/updateTeaInfo")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result updateTeacherInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Teacher tea =new Teacher();
        tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        tea.setTeaName(request.getParameter("tea_name"));
        tea.setTeaGender(request.getParameter("tea_gender"));
        tea.setTeaDname(request.getParameter("tea_dname"));
        tea.setPosition(request.getParameter("position"));
        tea.setHighestEdu(request.getParameter("highest_edu"));
        tea.setTeaTelNum(request.getParameter("tea_tel_num"));
        tea.setFinalEdu(request.getParameter("final_edu"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("tea_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
        }
        tea.setTeaBirthday(date);

        tea.setMailAddress(request.getParameter("mail_address"));
        tea.setWorkAddress(request.getParameter("work_address"));
        tea.setPersonIntro(request.getParameter("person_intro"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("tea_doc_time")!=null) {

            date1 = simpleDateFormat.parse(request.getParameter("tea_doc_time"));
        }
        tea.setTeaDocTime(date1);

        Date date2=new Date();
        if(request.getParameter("tea_master_time")!=null) {

            date2 = simpleDateFormat.parse(request.getParameter("tea_master_time"));
        }
        tea.setTeaMasterTime(date2);
        tea.setSearchDirection(request.getParameter("search_direction"));

        if(file!=null) {
            tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=teacherService.updateTeacherInfo(tea);

        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("操作成功");
        }

    }

    /**
     * 将照片文件保存到本地
     * @param inputStream 输入流
     * @param fileName 照片文件名
     * @return 返回字节数组 写入数据库中的blob对象
     */
    private byte[] savePic(InputStream inputStream, String fileName) {
        byte[] barray=null;
        OutputStream os = null;
        try {
            String path = "./static/pictures";

            byte[] bs = new byte[1024 * 1024 * 16];
            int len;
            File tempFile = new File(path);
            os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
            while ((len = inputStream.read(bs)) != -1) {
                os.write(bs, 0, len);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                os.close();
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        File tempFile = new File("./static/pictures/"+fileName);
        barray=fileConvertToByteArray(tempFile);
        return barray;

    }

    /**
     * 将照片文件转换为字节数组
     * @param file
     * @return 字节数组
     */
    private byte[] fileConvertToByteArray(File file) {
        byte[] data = null;

        try {
            FileInputStream fis = new FileInputStream(file);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            int len;
            byte[] buffer = new byte[1024*1024*16];
            while ((len = fis.read(buffer)) != -1) {
                baos.write(buffer, 0, len);
            }

            data = baos.toByteArray();

            fis.close();
            baos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return data;
    }


}

controller层

@RestController
@RequestMapping("/teacher")
public class TeacherController {
    @Resource
    private TeacherService teacherService;

    //查询基本信息
    @RequestMapping(value = "/findById")
    @ResponseBody
    public Teacher findById(HttpServletRequest request){
        return teacherService.findById(Integer.parseInt(request.getParameter("tea_id")));
    }

    @RequestMapping(value = "/findByName")
    @ResponseBody
    public Teacher findByName(HttpServletRequest request){
        return teacherService.findByName(request.getParameter("tea_name"));
    }

    @RequestMapping(value = "/findAll")
    @ResponseBody
    public List<Teacher> findAll(){
        return teacherService.findAll();
    }


    //删除老师信息
    @RequestMapping(value = "/delete")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public  Result delTeacher(HttpServletRequest request){
        int i = teacherService.delTeacher(Integer.parseInt(request.getParameter("tea_id")));
        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("");
        }
    }


    //按标签筛选
    @RequestMapping(value = "/findByGender")
    @ResponseBody
    public List<Teacher> findByGender(HttpServletRequest request){
        return teacherService.findByGender(request.getParameter("tea_gender"));
    }

    @RequestMapping(value = "/findByDname")
    @ResponseBody
    public List<Teacher> findByDname(HttpServletRequest request){
        return teacherService.findByDname(request.getParameter("tea_dname"));
    }


    @RequestMapping(value = "/findByGenderDname")
    @ResponseBody
    public List<Teacher> findByGenderGrade(HttpServletRequest request){
        return teacherService.findByGenderDname(request.getParameter("tea_gender"),request.getParameter("tea_dname"));
    }



    /**
     * 添加老师
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/addTea")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Teacher tea =new Teacher();
        tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        tea.setTeaName(request.getParameter("tea_name"));
        tea.setTeaGender(request.getParameter("tea_gender"));
        tea.setTeaDname(request.getParameter("tea_dname"));
        tea.setPosition(request.getParameter("position"));
        tea.setHighestEdu(request.getParameter("highest_edu"));
        tea.setTeaTelNum(request.getParameter("tea_tel_num"));
        tea.setFinalEdu(request.getParameter("final_edu"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("tea_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
        }
        tea.setTeaBirthday(date);

        tea.setMailAddress(request.getParameter("mail_address"));
        tea.setWorkAddress(request.getParameter("work_address"));
        tea.setPersonIntro(request.getParameter("person_intro"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("tea_doc_time")!=null) {

            date1 = simpleDateFormat1.parse(request.getParameter("tea_doc_time"));
        }
        tea.setTeaDocTime(date1);

        Date date2=new Date();
        if(request.getParameter("tea_master_time")!=null) {

            date2 = simpleDateFormat1.parse(request.getParameter("tea_master_time"));
        }
        tea.setTeaMasterTime(date2);
        tea.setSearchDirection(request.getParameter("search_direction"));

        if(file!=null) {
            tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=teacherService.addTeacher(tea);

        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("操作成功");
        }

    }

    /**
     * 老师基本信息更改
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/updateTeaInfo")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result updateTeacherInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Teacher tea =new Teacher();
        tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        tea.setTeaName(request.getParameter("tea_name"));
        tea.setTeaGender(request.getParameter("tea_gender"));
        tea.setTeaDname(request.getParameter("tea_dname"));
        tea.setPosition(request.getParameter("position"));
        tea.setHighestEdu(request.getParameter("highest_edu"));
        tea.setTeaTelNum(request.getParameter("tea_tel_num"));
        tea.setFinalEdu(request.getParameter("final_edu"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("tea_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
        }
        tea.setTeaBirthday(date);

        tea.setMailAddress(request.getParameter("mail_address"));
        tea.setWorkAddress(request.getParameter("work_address"));
        tea.setPersonIntro(request.getParameter("person_intro"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("tea_doc_time")!=null) {

            date1 = simpleDateFormat.parse(request.getParameter("tea_doc_time"));
        }
        tea.setTeaDocTime(date1);

        Date date2=new Date();
        if(request.getParameter("tea_master_time")!=null) {

            date2 = simpleDateFormat.parse(request.getParameter("tea_master_time"));
        }
        tea.setTeaMasterTime(date2);
        tea.setSearchDirection(request.getParameter("search_direction"));

        if(file!=null) {
            tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=teacherService.updateTeacherInfo(tea);

        if(i == 0) {
            return Result.fail("添加失败");
        }
        else  {

            return Result.succ("操作成功");
        }

    }

    /**
     * 将照片文件保存到本地
     * @param inputStream 输入流
     * @param fileName 照片文件名
     * @return 返回字节数组 写入数据库中的blob对象
     */
    private byte[] savePic(InputStream inputStream, String fileName) {
        byte[] barray=null;
        OutputStream os = null;
        try {
            String path = "./static/pictures";

            byte[] bs = new byte[1024 * 1024 * 16];
            int len;
            File tempFile = new File(path);
            os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
            while ((len = inputStream.read(bs)) != -1) {
                os.write(bs, 0, len);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                os.close();
                inputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        File tempFile = new File("./static/pictures/"+fileName);
        barray=fileConvertToByteArray(tempFile);
        return barray;

    }

    /**
     * 将照片文件转换为字节数组
     * @param file
     * @return 字节数组
     */
    private byte[] fileConvertToByteArray(File file) {
        byte[] data = null;

        try {
            FileInputStream fis = new FileInputStream(file);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            int len;
            byte[] buffer = new byte[1024*1024*16];
            while ((len = fis.read(buffer)) != -1) {
                baos.write(buffer, 0, len);
            }

            data = baos.toByteArray();

            fis.close();
            baos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return data;
    }


}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值