package com.itheima.mapper; import com.itheima.pojo.Seeker; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; public interface SeekerMapper { @Select("select * from seeker where name = #{username} and password = #{password}") Seeker loginSeeker(@Param("username") String username, @Param("password") String password); @Select("select * from seeker where name = #{username}") Seeker selectByName(String username); @Insert("insert into seeker values(null,#{name},#{phone},#{birthday},#{degree},#{password},#{workingHours},#{hopePost},#{hopeSalary},#{skill},#{advantage},#{experienced})") void insertSeeker(Seeker seeker); @Update("update seeker set name=#{name},phone=#{phone},birthday=#{birthday},degree=#{degree},password=#{password},workingHours=#{workingHours},hopePost=#{hopePost},hopeSalary=#{hopeSalary},skill=#{skill},advantage=#{advantage},experienced=#{experienced} where id=#{id}") void updateSeeker(Seeker seeker); List<Seeker> selectAllByCondition(Seeker seeker); @Select("SELECT * from seeker where id=#{id}") Seeker selectSeekerById(Integer id); }
SQl
package com.itheima.web; import com.alibaba.fastjson.JSON; import com.itheima.pojo.Post; import com.itheima.pojo.Seeker; import com.itheima.pojoComplex.PageBeen; import com.itheima.service.SeekerService; import com.itheima.service.impl.SeekerServiceImpl; import com.itheima.util.Hashmap; import com.itheima.util.MyTextComparator; import com.itheima.util.PDFReader; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.*; import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @WebServlet("/seeker/*") public class SeekerServlet extends BaseServlet { private SeekerService service = new SeekerServiceImpl(); public void loginSeeker(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("loginSeeker..."); BufferedReader br = request.getReader(); String params = br.readLine(); PageBeen pageBeen = JSON.parseObject(params, PageBeen.class); Seeker seeker = service.loginSeeker(pageBeen.getUsername(), pageBeen.getPassword()); //System.out.println("login"+seeker); response.setContentType("text/json;charset=utf-8"); if(seeker != null){ String jsonString = JSON.toJSONString(seeker); response.getWriter().write(jsonString); }else{ System.out.println("error"); response.getWriter().write("error"); } } public void seekerRegister(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("seekerRegister..."); BufferedReader br = request.getReader(); String params = br.readLine(); System.out.println(br.readLine()); Seeker seeker = JSON.parseObject(params, Seeker.class); //System.out.println(params); String[] split = seeker.getBirthday().split("T"); SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); Date d = new Date(f.parse(split[0]).getTime()+24*3600*1000); String format = f.format(d); // System.out.println(format); seeker.setBirthday(format); service.insertSeeker(seeker); response.setContentType("text/json;charset=utf-8"); response.getWriter().write("success"); } public void seekerRegisterupload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { // 检测是否为多媒体上传 System.out.println("seekerRegisterupload"); if (!ServletFileUpload.isMultipartContent(request)) { // 如果不是则停止 PrintWriter writer = response.getWriter(); writer.println("Error: 表单必须包含 enctype=multipart/form-data"); writer.flush(); return; } System.out.println("1"); // 构造临时路径来存储上传的文件 // 这个路径相对当前应用的目录 String uploadPath = getServletContext().getRealPath("/") + File.separator + "upload"; // 如果目录不存在则创建 File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } //1、创建一个DiskFileItemFactory工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); //2、创建一个文件上传解析器 ServletFileUpload upload = new ServletFileUpload(factory); //3、解决上传文件名的中文乱码 upload.setHeaderEncoding("UTF-8"); System.out.println("2"); try { // 解析请求的内容提取文件数据 @SuppressWarnings("unchecked") List<FileItem> fileItems = upload.parseRequest(request); System.out.println(fileItems); if (fileItems != null && fileItems.size() > 0) { for (FileItem item : fileItems) { //如果fileitem中封装的不是普通输入项的数据 if (!item.isFormField()) { //字段名称 System.out.println("2-2"); String fieldName = item.getFieldName(); //文件对应字段名称,就是input中name的值 //文件 XXX.doc String fileName = item.getName(); //获取文件后缀名 String suffix = fileName.substring(fileName.lastIndexOf('.')); //.doc //获取时间戳作为文件名 long id = new Date().getTime(); SimpleDateFormat formatter= new SimpleDateFormat("yyMMddHHmmss"); Date date = new Date(System.currentTimeMillis()); System.out.println(formatter.format(date)); //构建文件路径 System.out.println(File.separator); String fileUrl = "E:\\pic\\" + formatter.format(date) + suffix; //新建文件 File file = new File(fileUrl); System.out.println("3"); try { //文件写入 item.write(file); System.out.println("4"); Seeker seeker=new Seeker(); // System.out.println(PictureReader.Reader(fileUrl)); String[] strings = PDFReader.readFile(fileUrl); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); seeker.setPassword("123"); if(strings[i].contains("姓名")) { String[] split = strings[i].split(":"); seeker.setName(split[1]); } if(strings[i].contains("电话")) { String[] split = strings[i].split(":"); seeker.setPhone(split[1]); } if(strings[i].contains("年龄")) { String[] split = strings[i].split(":"); String s = String.valueOf(2023 - Integer.parseInt(split[1])); seeker.setBirthday(s+"-06-14"); } if(strings[i].contains("学历学位")) { String[] split = strings[i].split(":"); seeker.setDegree(split[1]); } if(strings[i].contains("工作经验")) { String[] split = strings[i].split(":"); String 年 = split[1].replace("年", ""); seeker.setWorkingHours(年); } if(strings[i].contains("从事职业")) { String[] split = strings[i].split(":"); seeker.setHopePost(split[1]); } if(strings[i].contains("期望月薪")) { String[] split = strings[i].split(":"); seeker.setHopeSalary(split[1]); } if(strings[i].contains("技能")) { String s=""; for (int j = i+1; j <strings.length ; j++) { if (strings[j].equals("工作经历")) break; s+=strings[j]; } seeker.setSkill(s); } if(strings[i].contains("工作经历")) { String s=""; for (int j = i+1; j <strings.length ; j++) { if (strings[j].equals("自我评价")) break; s+=strings[j]; } seeker.setAdvantage(s); } if(strings[i].contains("自我评价")) { String s=""; for (int j = i+1; j <strings.length ; j++) { s+=strings[j]; } seeker.setExperienced(s); } } System.out.println(seeker); service.insertSeeker(seeker); } catch (Exception e) { e.printStackTrace(); } /** * 图片访问地址: * http://XXX:8080/javaewb/img/id+suffix */ } else { //普通字段 String fieldName = item.getFieldName(); String value = item.getString("UTF-8"); System.out.println(fieldName + "->" + value); } } } }catch (FileUploadException e) { e.printStackTrace(); } } public void selectPeoInformation(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectPeoInformation..."); BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8)); // BufferedReader br = request.getReader(); String name = br.readLine(); // String name = JSON.parseObject(params, String.class); Seeker seeker = service.selectByName(name); //System.out.println("login"+seeker); response.setContentType("text/json;charset=utf-8"); if(seeker != null){ String jsonString = JSON.toJSONString(seeker); response.getWriter().write(jsonString); }else{ System.out.println("error"); response.getWriter().write("error"); } } public void updateSeeker(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("updateSeeker..."); BufferedReader br = request.getReader(); String params = br.readLine(); Seeker seeker = JSON.parseObject(params, Seeker.class); String[] split = seeker.getBirthday().split("T"); SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd"); Date d = new Date(f.parse(split[0]).getTime()+24*3600*1000); String format = f.format(d); // System.out.println(format); seeker.setBirthday(format); service.updateSeeker(seeker); //System.out.println("login"+seeker); response.setContentType("text/json;charset=utf-8"); } public void selectSeekerById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ParseException { System.out.println("selectSeekerById..."); BufferedReader br = request.getReader(); String params = br.readLine(); Integer integer = JSON.parseObject(params, Integer.class); Seeker seeker = service.selectSeekerById(integer); //System.out.println("login"+seeker); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(seeker); response.getWriter().write(jsonString); } }
SQL实现
今日完成:
1.消息的SQL的编写
2.SQL语句的实现和对于所有信息的展示,三个表尽心关联
3.完成对于页面的统一化风格
4.对于个性功能之间的测试
5.解决交互逻辑问题
6.完善,整理业务流程
明日目标:
1.完成最后的测试和优化
2.对于第一阶段的冲刺进行总结

浙公网安备 33010602011771号