【暑期实训】day05

1.实现了图片的上传功能
 /**
     * 将照片文件保存到本地
     * @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;
    }
2.实现了学生的增、改、查
 /**
     * 添加学生
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/addStu")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Student stu =new Student();
        stu.setStuId(Integer.parseInt(request.getParameter("stu_id")));
        stu.setStuName(request.getParameter("stu_name"));
        stu.setStuGender(request.getParameter("stu_gender"));
        stu.setStuDname(request.getParameter("stu_dname"));
        stu.setStuMajor(request.getParameter("stu_major"));
        stu.setStuGrade(request.getParameter("stu_grade"));
        stu.setStuTelNum(request.getParameter("stu_tel_num"));
        stu.setIdCardNum(request.getParameter("id_card_num"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("stu_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("stu_birthday"));
        }
        stu.setStuBirthday(date);
        stu.setNation(request.getParameter("nation"));
        stu.setPolitic(request.getParameter("politic"));
        if(request.getParameter("qq_num")!=null) {
            stu.setQqNum(Integer.parseInt(request.getParameter("qq_num")));
        }

        stu.setWechatNum(request.getParameter("wechat_num"));
        stu.setMailAddress(request.getParameter("mail_address"));
        stu.setEmergencyContact(request.getParameter("emergency_contact"));
        stu.setAddressNow(request.getParameter("address_now"));
        stu.setLocAddress(request.getParameter("loc_address"));
        stu.setHomeAddress(request.getParameter("home_address"));
        stu.setStayType(request.getParameter("stay_type"));
        stu.setPersonIntro(request.getParameter("person_intro"));
        stu.setStudySystem(request.getParameter("study_system"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("began_date")!=null) {

            date1 = simpleDateFormat.parse(request.getParameter("began_date"));
        }
        stu.setBeganDate(date1);



        stu.setMonitor(request.getParameter("monitor"));
        if(request.getParameter("tea_id")!=null) {
            stu.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        }
        if(request.getParameter("study_project_id")!=null) {
            stu.setStudyProjectId(Integer.parseInt(request.getParameter("study_project_id")));
        }
        if(request.getParameter("study_plan_id")!=null) {
            stu.setStudyPlanId(Integer.parseInt(request.getParameter("study_plan_id")));
        }
        if(file!=null) {
            stu.setStuPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=StuService.addStudent(stu);

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

            return Result.succ("");
        }

    }

    /**
     * 学生基本信息更改
     * @param request
     * @param file 前端传来的照片文件
     * @return
     * @throws ParseException
     * @throws IOException
     */
    @RequestMapping(value = "/updateStuInfo")
    @ResponseBody
    @Transactional(rollbackFor = {RuntimeException.class, Error.class})
    public Result updateStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
        Student stu =new Student();
        stu.setStuId(Integer.parseInt(request.getParameter("stu_id")));
        stu.setStuName(request.getParameter("stu_name"));
        stu.setStuGender(request.getParameter("stu_gender"));
        stu.setStuDname(request.getParameter("stu_dname"));
        stu.setStuMajor(request.getParameter("stu_major"));
        stu.setStuGrade(request.getParameter("stu_grade"));
        stu.setStuTelNum(request.getParameter("stu_tel_num"));
        stu.setIdCardNum(request.getParameter("id_card_num"));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date=new Date();
        if(request.getParameter("stu_birthday")!=null) {

            date = simpleDateFormat.parse(request.getParameter("stu_birthday"));
        }
        stu.setStuBirthday(date);
        stu.setNation(request.getParameter("nation"));
        stu.setPolitic(request.getParameter("politic"));
        if(request.getParameter("qq_num")!=null) {
            stu.setQqNum(Integer.parseInt(request.getParameter("qq_num")));
        }

        stu.setWechatNum(request.getParameter("wechat_num"));
        stu.setMailAddress(request.getParameter("mail_address"));
        stu.setEmergencyContact(request.getParameter("emergency_contact"));
        stu.setAddressNow(request.getParameter("address_now"));
        stu.setLocAddress(request.getParameter("loc_address"));
        stu.setHomeAddress(request.getParameter("home_address"));
        stu.setStayType(request.getParameter("stay_type"));
        stu.setPersonIntro(request.getParameter("person_intro"));
        stu.setStudySystem(request.getParameter("study_system"));
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date1=new Date();
        if(request.getParameter("began_date")!=null) {

            date1 = simpleDateFormat.parse(request.getParameter("began_date"));
        }
        stu.setBeganDate(date1);



        stu.setMonitor(request.getParameter("monitor"));
        if(request.getParameter("tea_id")!=null) {
            stu.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
        }
        if(request.getParameter("study_project_id")!=null) {
            stu.setStudyProjectId(Integer.parseInt(request.getParameter("study_project_id")));
        }
        if(request.getParameter("study_plan_id")!=null) {
            stu.setStudyPlanId(Integer.parseInt(request.getParameter("study_plan_id")));
        }
        if(file!=null) {
            stu.setStuPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
        }
        int i=StuService.updateStudentInfo(stu);

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

            return Result.succ("");
        }

    }
    //查询基本信息
   @RequestMapping(value = "/findbyid")
   @ResponseBody
   public Student findById(HttpServletRequest request){
        return StuService.findById(Integer.parseInt(request.getParameter("stu_id")));
   }

   @RequestMapping(value = "/findbyname")
   @ResponseBody
   public Student findByName(HttpServletRequest request){
       return StuService.findByName(request.getParameter("stu_name"));
   }
3.实现了按标签进行筛选信息
//按标签筛选
    @RequestMapping(value = "/findbygender")
    @ResponseBody
    public List<Student> findByGender(HttpServletRequest request){
        return StuService.findByGender(request.getParameter("stu_gender"));
    }

    @RequestMapping(value = "/findbymajor")
    @ResponseBody
    public List<Student> findByMajor(HttpServletRequest request){
        return StuService.findByMajor(request.getParameter("stu_major"));
    }

    @RequestMapping(value = "/findbygrade")
    @ResponseBody
    public List<Student> findByGrade(HttpServletRequest request){
        return StuService.findByGrade(request.getParameter("stu_grade"));
    }

    @RequestMapping(value = "/findbygrademajor")
    @ResponseBody
    public List<Student> findByGradeMajor(HttpServletRequest request){
        return StuService.findByGradeMajor(request.getParameter("stu_grade"),request.getParameter("stu_major"));
    }

    @RequestMapping(value = "/findbygendermajor")
    @ResponseBody
    public List<Student> findByGenderMajor(HttpServletRequest request){
        return StuService.findByGenderMajor(request.getParameter("stu_gender"),request.getParameter("stu_major"));
    }

    @RequestMapping(value = "/findbygendergrade")
    @ResponseBody
    public List<Student> findByGenderGrade(HttpServletRequest request){
        return StuService.findByGenderGrade(request.getParameter("stu_gender"),request.getParameter("stu_grade"));
    }

    @RequestMapping(value = "/findbygendergrademajor")
    @ResponseBody
    public List<Student> findByGenderGradeMajor(HttpServletRequest request){
        return StuService.findByGenderGradeMajor(request.getParameter("stu_gender"),request.getParameter("stu_grade"),request.getParameter("stu_major"));
    }

相关StudentMapper.xml文件添加的查询语句如下:

 <select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_id = #{stuId,jdbcType=INTEGER}
  </select>
  <select id="selectByName" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_name = #{stuName,jdbcType=VARCHAR}
  </select>
  <select id="selectByGender" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_gender = #{stuGender,jdbcType=VARCHAR}
  </select>
  <select id="selectByMajor" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_major = #{stuMajor,jdbcType=VARCHAR}
  </select>
  <select id="selectByGrade" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_grade = #{stuGrade,jdbcType=VARCHAR}
  </select>
  <select id="selectByGradeMajor" resultMap="ResultMapWithBLOBs">
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_grade = #{stuGrade,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
  </select>
  <select id="selectByGenderMajor" resultMap="ResultMapWithBLOBs">
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
  </select>
  <select id="selectByGenderGrade" resultMap="ResultMapWithBLOBs">
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_grade = #{stuGrade,jdbcType=VARCHAR}
  </select>
  <select id="selectByGenderGradeMajor" resultMap="ResultMapWithBLOBs">
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from student
    where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_grade = #{stuGrade,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
  </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值