搜索功能

This commit is contained in:
cyk
2023-07-01 11:16:57 +08:00
parent 9fc640805c
commit 9e19f665f0
3 changed files with 152 additions and 3 deletions

View File

@@ -93,6 +93,7 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project;";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class));
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
@@ -105,6 +106,7 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?)";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class),cateid);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
@@ -118,6 +120,7 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?) order by startNum";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class),cateid);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
@@ -130,10 +133,23 @@ public class projectDao {
QueryRunner runner = new QueryRunner();
String sql = "select * from project order by startNum desc";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class));
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return projectEntityList;
}
public List<projectEntity> selectByInput(String str) {
List<projectEntity> projectEntityList;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "SELECT * FROM project WHERE projectName LIKE %?%";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class), str);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return projectEntityList;
}
}

View File

@@ -110,12 +110,72 @@ public class projectService {
return projectEntityList;
}
public List<projectEntity> retSelcetByStar(int cate){
Map<Integer,String> dataMap=new HashMap<>();
dataMap.put(1,"C项目");
dataMap.put(2,"C#项目");
dataMap.put(3,"C++项目");
dataMap.put(4,"CSS项目");
dataMap.put(5,"Go项目");
dataMap.put(6,"Java项目");
dataMap.put(7,"Javascript项目");
dataMap.put(8,"Kotlin项目");
dataMap.put(9,"Obejctive-C项目");
dataMap.put(10,"PHP项目");
dataMap.put(11,"Python项目");
dataMap.put(12,"Ruby项目");
dataMap.put(13,"Rust项目");
dataMap.put(14,"Swift项目");
dataMap.put(15,"其他");
dataMap.put(16,"开源书籍");
dataMap.put(17,"机器学习");
List<projectEntity> projectEntityList;
if (cate==0){
return projectDao.retMostStar();
projectEntityList =projectDao.retMostStar();
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
}
}else {
return projectDao.retSelcetByStartNum(cate);
projectEntityList =projectDao.retSelcetByStartNum(cate);
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
}
}
return projectEntityList;
}
public List<projectEntity> selectByInput(String str){
Map<Integer,String> dataMap=new HashMap<>();
dataMap.put(1,"C项目");
dataMap.put(2,"C#项目");
dataMap.put(3,"C++项目");
dataMap.put(4,"CSS项目");
dataMap.put(5,"Go项目");
dataMap.put(6,"Java项目");
dataMap.put(7,"Javascript项目");
dataMap.put(8,"Kotlin项目");
dataMap.put(9,"Obejctive-C项目");
dataMap.put(10,"PHP项目");
dataMap.put(11,"Python项目");
dataMap.put(12,"Ruby项目");
dataMap.put(13,"Rust项目");
dataMap.put(14,"Swift项目");
dataMap.put(15,"其他");
dataMap.put(16,"开源书籍");
dataMap.put(17,"机器学习");
List<projectEntity> projectEntityList = projectDao.selectByInput(str);
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
}
return projectEntityList;
}
}

View File

@@ -0,0 +1,73 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.entity.projectEntity;
import com.hellogithub.service.projectService;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
public class selectByInputServlet extends HttpServlet {
private com.hellogithub.service.projectService projectService=new projectService();
@Override
public void init(ServletConfig config) throws ServletException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=utf-8");
// 设置响应头允许ajax跨域访问
String curOrigin = req.getHeader("Origin");
resp.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin);
resp.setHeader("Access-Control-Allow-Credentials", "true");
resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD");
resp.setHeader("Access-Control-Max-Age", "3600");
resp.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");
resp.setContentType("application/json;charset=UTF-8");
//返回最新期刊数字
PrintWriter writer = resp.getWriter();
String str = req.getParameter("xxxxx");
List<projectEntity> projectEntityList = projectService.selectByInput(str);
if(projectEntityList.size() == 0 ){
setResultError("查询结果为空",writer);
}
else{
String jsonString = JSONObject.toJSONString(projectEntityList);
setResultOK("success",writer);
writer.println(jsonString);
writer.close();
setResultOK("success",writer);
}
}
public void setResult(Integer code, String msg, PrintWriter writer) {
HashMap<String, Object> result = new HashMap<>();
result.put("code", code);
result.put("msg", msg);
String jsonString = JSONObject.toJSONString(result);
writer.println(jsonString);
writer.close();
}
public void setResultError(String msg, PrintWriter writer) {
setResult(500, msg, writer);
}
public void setResultOK(String msg, PrintWriter writer) {
setResult(200, msg, writer);
}
}