This commit is contained in:
cyk
2023-07-01 13:58:16 +08:00
parent fced648a4d
commit 73642f8838
9 changed files with 233 additions and 76 deletions

View File

@@ -4,7 +4,6 @@ import com.hellogithub.entity.userEntity;
import com.hellogithub.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.*;
@@ -172,18 +171,21 @@ public class UserDao {
return num;
}
public Long retUserNum(){
Long count;
/*
*
* 返回用户总数
* */
public int queryUserCount(){
int num;
try {
Connection conn = JdbcUtils.getConnection();
ScalarHandler handler=new ScalarHandler<Integer>();
QueryRunner runner = new QueryRunner();
String sql = "select count(*) from user";
count =(Long) runner.query( conn,sql,new ScalarHandler());
conn.close();
String sql="select count(*) from user";
num = runner.query(conn,sql,new BeanHandler<>(Integer.class));
} catch (SQLException e) {
throw new RuntimeException(e);
}
return count;
return num;
}
}

View File

@@ -5,11 +5,8 @@ import com.hellogithub.utils.JdbcUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.lang.ref.PhantomReference;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
@@ -53,17 +50,19 @@ public class projectDao {
return projectEntity.getPeriodicals();
}
/**
* 返回所有项目总数
* 返回所有项目总数
*
*
*/
public int countAll() {
int count;
projectEntity p;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "select count(1) from project";
count = runner.query(conn, sql, new BeanHandler<>(Integer.class));
String sql = "select count(*) as projectId from project";
p = runner.query(conn, sql, new BeanHandler<>(projectEntity.class));
count = p.getProjectId();
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
@@ -96,16 +95,12 @@ 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);
}
return projectEntityList;
}
/**
* 按照分类检索项目
*
*
*/
public List<projectEntity> retSelcetByCate(int cateid){
List<projectEntity> projectEntityList;
try {
@@ -113,47 +108,65 @@ 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);
}
return projectEntityList;
}
/**
* 按照分类检索最热门项目
*
*
*/
public List<projectEntity> retSelcetByStartNum(int cateid){
List<projectEntity> projectEntityList;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?) order by startNum";
String sql = "select * from project where projectId in (select projectId from project_category where categoryId=?) order by lookCount desc";
projectEntityList = runner.query(conn, sql, new BeanListHandler<>(projectEntity.class),cateid);
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
return projectEntityList;
}
/**
* 检索所有最热门的项目
*
*
*/
public List<projectEntity> retMostStar(){
public List<projectEntity> retMostStar( ){
List<projectEntity> projectEntityList;
try {
Connection conn = JdbcUtils.getConnection();
QueryRunner runner = new QueryRunner();
String sql = "select * from project order by startNum desc";
String sql = "select * from project order by lookCount 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;
}
//返回标签
// public List<> retLabelBy(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 ;
// }
}

View File

@@ -47,10 +47,5 @@ public class UserService {
* @param name
* */
public int dedleteAllLabel(String name){return userDao.dedleteAllLabel(name);}
/**
* 查询用户表中的用户总数
* */
public Long retUserNums(){return userDao.retUserNum();}
public int queryUserCount(){return userDao.queryUserCount();}
}

View File

@@ -4,8 +4,10 @@ import com.hellogithub.dao.UserDao;
import com.hellogithub.dao.projectDao;
import com.hellogithub.entity.projectEntity;
import java.sql.Array;
import java.util.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class projectService {
@@ -39,7 +41,7 @@ public class projectService {
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
projectEntity.setCategoryName(dataMap.get(projectEntity.getCategoryId()));
}
return projectDao.retTerm(num);
@@ -92,7 +94,7 @@ public class projectService {
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
projectEntity.setCategoryName(dataMap.get(projectEntity.getCategoryId()));
}
} else {
@@ -100,24 +102,83 @@ public class projectService {
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getProjectId()));
projectEntity.setCategoryName(dataMap.get(projectEntity.getCategoryId()));
}
}
return projectEntityList;
}
/**
* 返回根据标签查询最热门的项目
* */
public List<projectEntity> retSelcetByStar(int cate){
if (cate==0){
return projectDao.retMostStar();
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){
projectEntityList =projectDao.retMostStar();
for(int i =0;i<projectEntityList.size();i++)
{
projectEntity projectEntity = projectEntityList.get(i);
projectEntity.setCategoryName(dataMap.get(projectEntity.getCategoryId()));
}
}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.getCategoryId()));
}
}
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.getCategoryId()));
}
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);
}
}

View File

@@ -42,7 +42,7 @@ public class selectLastByCateServlet extends HttpServlet {
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");
String cate = req.getParameter("cate");
String cate = req.getParameter("num");
PrintWriter writer = resp.getWriter();
String jsonString = JSONObject.toJSONString(projectService.retLatestProject(Integer.valueOf(cate)));
writer.println(jsonString);

View File

@@ -11,11 +11,7 @@ import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 根据标签查询最热门的项目
*
*
*/
@WebServlet("/selectMostStar")
public class selectMostStarServlet extends HttpServlet {
private projectService projectService=new projectService();
@@ -42,7 +38,8 @@ public class selectMostStarServlet extends HttpServlet {
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");
String cate = req.getParameter("cate");
String cate = req.getParameter("num");
PrintWriter writer = resp.getWriter();
String jsonString = JSONObject.toJSONString(projectService.retSelcetByStar(Integer.valueOf(cate)));
writer.println(jsonString);

View File

@@ -1,31 +1,27 @@
package com.hellogithub.servlet;
import com.alibaba.fastjson.JSONObject;
import com.hellogithub.dao.UserDao;
import com.hellogithub.service.UserService;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 返回数据库中用户的总人数
* */
@WebServlet("/userNum")
import java.util.HashMap;
public class userNumServlet extends HttpServlet {
UserDao userDao = new UserDao();
private UserService userService = new UserService();
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
doPost(req, resp);
}
@Override
@@ -42,14 +38,33 @@ public class userNumServlet extends HttpServlet {
resp.setContentType("application/json;charset=UTF-8");
PrintWriter writer = resp.getWriter();
String str= "num:"+ userDao.retUserNum();
int num = userService.queryUserCount();
String str= "num:"+num ;
String jsonString = JSONObject.toJSONString(str);
writer.println(jsonString);
if(num == 0)
{
setResultError("用户总数为空",writer);
}else{
setResultOK("success",writer);
}
writer.close();
}
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();
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.service(req, resp);
public void setResultError(String msg, PrintWriter writer) {
setResult(500, msg, writer);
}
public void setResultOK(String msg, PrintWriter writer) {
setResult(200, msg, writer);
}
}

View File

@@ -11,6 +11,7 @@
<title>$Title$</title>
</head>
<body>
$END$
你说的对但是hellogithub是一个....
<a></a>
</body>
</html>