package com.itheima.mapper; import com.itheima.pojo.News; import com.itheima.pojo.Post; import org.apache.ibatis.annotations.*; import java.util.List; public interface PostMapper { @Select("SELECT * from post") List<Post> selectPost(); //int selectTotalCountByCondition(Post post); List<Post> selectPostByCondition(Post post); List<Post> selectPostByConditionAndComId(@Param("post") Post post,@Param("CompanyId")Integer CompanyId); @Select("select * from post where id=#{id}") Post selectPosrById(Integer id); @Select("select * from news where seekerId=#{seekerId} and postId=#{postId}") News selectNewsByIds(@Param("postId") Integer postId,@Param("seekerId")Integer seekerId); @Update("update news set collect=#{isCollect} where postId=#{postId} and seekerId=#{seekerId}") int updateNewsCollectByIds(@Param("postId") Integer postId,@Param("seekerId")Integer seekerId,@Param("isCollect") Integer isCollect); @Insert("insert into news values(null,#{postId},#{seekerId},#{isState},#{isCollect})") int creatNewsByIds(@Param("postId") Integer postId,@Param("seekerId")Integer seekerId,@Param("isState") Integer isState,@Param("isCollect") Integer isCollect); @Delete("DELETE from news where postId=#{postId} and seekerId=#{seekerId}") int deleteNewsByIds(@Param("postId") Integer postId,@Param("seekerId")Integer seekerId); @Select("select postId from news where seekerId=#{SeekerId} and collect=1") List<Integer> selectNewsCollectPostIdsBySeekerId(int SeekerId); @Select("select * from news where seekerId=#{SeekerId} and state=1 or state=2") List<News> selectNewsCommitPostIdsBySeekerId(int SeekerId); List<Post> selectCollectPostByConditionAndPostIds(@Param("PostIds") List<Integer> PostIds,@Param("post") Post post); List<Post> selectCommitPostByConditionAndPostIds(@Param("PostIds") List<Integer> PostIds,@Param("post") Post post); @Update("update news set state=#{isCommit} where postId=#{postId} and seekerId=#{seekerId}") int updateNewsCommitByIds(@Param("postId") Integer postId,@Param("seekerId")Integer seekerId,@Param("isCommit") Integer isCommit); @Update("update post set name=#{name},description=#{description},skillRequire=#{skillRequire},money=#{money},degreeRequire=#{degreeRequire} where id=#{id}") void updatePostById(Post post); @Insert("insert into post values(null,#{companyId},#{name},#{description},#{skillRequire},#{money},#{degreeRequire})") void addCompanyPost(Post post); }
SQl
package com.itheima.web; import com.alibaba.fastjson.JSON; import com.itheima.mapper.PostMapper; import com.itheima.pojo.Company; import com.itheima.pojo.Post; import com.itheima.pojo.Seeker; import com.itheima.pojoComplex.*; import com.itheima.service.CompanyService; import com.itheima.service.PostService; import com.itheima.service.SeekerService; import com.itheima.service.impl.CompanyServiceImpl; import com.itheima.service.impl.PostServiceImpl; 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.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @WebServlet("/post/*") public class PostServlet extends BaseServlet { private PostService postService = new PostServiceImpl(); private SeekerService seekerService = new SeekerServiceImpl(); private CompanyService companyService= new CompanyServiceImpl(); public void selectPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectPost..."); BufferedReader br = request.getReader(); String params = br.readLine(); PostBean postBean = JSON.parseObject(params, PostBean.class); Seeker seeker = seekerService.selectByName(postBean.getUsername()); // List<Post> posts = postService.selectPost(); List<Post> posts = postService.selectPostByCondition(postBean.getPost()); Map<Post,Double> postIntegerMap =new HashMap<>(); for (int i = 0; i < posts.size(); i++) { Double cosineSimilarity = MyTextComparator.getCosineSimilarity(seeker.getSkill(), posts.get(i).getSkillRequire()); postIntegerMap.put(posts.get(i),cosineSimilarity); } List<Post> hsahpaixu = Hashmap.hsahpaixu(postIntegerMap); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<Post> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>hsahpaixu.size()) length=hsahpaixu.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(hsahpaixu.get(i)); } PostBeenSum<Post> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(hsahpaixu.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void selectPostAndCompanyById(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectPostAndCompanyById..."); BufferedReader br = request.getReader(); String params = br.readLine(); Integer postId = JSON.parseObject(params, Integer.class); Post post = postService.selectPosrById(postId); Company company = companyService.selectCompanyByPostId(post.getCompanyId()); PostCompany postCompany=new PostCompany(post,company); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postCompany); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void postcollect(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("postcollect..."); String seekerName = request.getParameter("seekerName"); String postId = request.getParameter("postid"); String isCollect = request.getParameter("collect"); Seeker seeker = seekerService.selectByName(seekerName); int is = postService.updateOrdeleteNewsByIdsCollect(Integer.parseInt(postId), seeker.getId(), Integer.parseInt(isCollect)); if(is==-1) { response.getWriter().write("error1"); }else { response.getWriter().write("right"); } response.setContentType("text/json;charset=utf-8"); //String jsonString = JSON.toJSONString(postCompany); //System.out.println(jsonString); //response.getWriter().write(jsonString); } public void selectCollectPostBySeekerId(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectCollectPostBySeekerId..."); BufferedReader br = request.getReader(); String params = br.readLine(); PostBean postBean = JSON.parseObject(params, PostBean.class); Seeker seeker = seekerService.selectByName(postBean.getUsername()); List<Post> posts = postService.selectCollectPostByConditionAndPostIds(seeker.getId(), postBean.getPost()); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<Post> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>posts.size()) length=posts.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(posts.get(i)); } PostBeenSum<Post> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(posts.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); response.getWriter().write(jsonString); } public void postcommit(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("postcommit..."); String seekerName = request.getParameter("seekerName"); String postId = request.getParameter("postid"); String isCommit = request.getParameter("commit"); Seeker seeker = seekerService.selectByName(seekerName); int is = postService.updateOrdeleteNewsByIdsCommit(Integer.parseInt(postId), seeker.getId(), Integer.parseInt(isCommit)); if(is==-1) { response.getWriter().write("error1"); }else { response.getWriter().write("right"); } response.setContentType("text/json;charset=utf-8"); //String jsonString = JSON.toJSONString(postCompany); //System.out.println(jsonString); //response.getWriter().write(jsonString); } public void selectCommitPostBySeekerId(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { System.out.println("selectCommitPostBySeekerId..."); BufferedReader br = request.getReader(); String params = br.readLine(); PostBean postBean = JSON.parseObject(params, PostBean.class); Seeker seeker = seekerService.selectByName(postBean.getUsername()); List<PostState> postStates = postService.selectCommitPostByConditionAndPostIds(seeker.getId(), postBean.getPost()); String _currentPage = request.getParameter("currentPage"); String _pageSize = request.getParameter("pageSize"); int currentPage = Integer.parseInt(_currentPage); int pageSize = Integer.parseInt(_pageSize); List<PostState> postBypage=new ArrayList<>(); int length=(currentPage-1)*pageSize+pageSize; if(length>postStates.size()) length=postStates.size(); for (int i = (currentPage-1)*pageSize; i <length ; i++) { postBypage.add(postStates.get(i)); } PostBeenSum<PostState> postBeenSum =new PostBeenSum<>(); postBeenSum.setRows(postBypage); postBeenSum.setTotalCount(postStates.size()); response.setContentType("text/json;charset=utf-8"); String jsonString = JSON.toJSONString(postBeenSum); //System.out.println(jsonString); System.out.println(jsonString); response.getWriter().write(jsonString); } }
SQL的实现
今日完成:
1.对于个人端的SQl的编辑
2.对于SQl与页面展示的实现
3.完善数据库的信息,三个表添加联系,并增加一部分数据列
明日目标:
1.对于信息的内容的SQl的完善
2.对页面进行美化,使用统一风格
3.对于匹配度的算法进行特别情况的修改,优化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用