Web学生教务信息管理系统(后符源代码包)

因为项目需要连接数据库,所以需要一个连接数据库的jar包

本项目用的是mysql8.0所以jar对应的就是8.0版本,

不同数据库版本对应的jar包是不一样的,具体jar包的下载地址:Jar包下载,怎么下载这里就不多介绍了

功能说明
1.登入功能

2.增

3.删

4.改

5.查

代码实现:

关于servlet的

package cn.com.servlet;

import cn.com.controller.*;
import cn.com.controller.administrator.ClaController;
import cn.com.controller.administrator.PerController;
import cn.com.controller.administrator.TaskController;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * <p>Project:AcademicSystem - AcademicServlet
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/13 17:38:08
 * @since 1.8
 */
public class AcademicServlet extends HttpServlet {
   private ClaController classController = new ClaController();
   private LoginController loginController = new LoginController();
   private PerController perController = new PerController();
   private StuController stuController = new StuController();
   private TaskController taskController =new TaskController();
   private TeaController teaController = new TeaController();

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String path = req.getServletPath();
        if ("/index.do".equals(path))req.getRequestDispatcher("/index.jsp").forward(req,resp);//登录界面
        else if ("/out.do".equals(path))out(resp);//处理限制页面
        else if ("/index/login.do".equals(path))loginController.goLogin(req, resp);//处理用户提交的登录信息
        else if ("/index/logout.do".equals(path))loginController.goLogout(req, resp);//处理用户提交的退出登录信息
        else if ("/student/update.do".equals(path)) stuController.doHome_one(req, resp);//跳转至学生更新页面
        else if ("/student/modifyNow.do".equals(path)) stuController.modifyNow(req, resp);//学生更新后台服务
        else if ("/student/show.do".equals(path)) stuController.doHome_two(req, resp);//跳转学生课室课程表
        else if ("/student/findScore.do".equals(path)) stuController.doHome_three(req, resp);//跳转至学生成绩查询
        else if ("/teacher/update.do".equals(path)) teaController.doHome_one(req, resp);//跳转至学生更新页面
        else if ("/teacher/modifyNow.do".equals(path)) teaController.modifyNow(req, resp);//教师更新后台服务
        else if ("/teacher/findClass.do".equals(path)) teaController.doHome_two(req, resp);//跳转至学生成绩查询
        else if ("/teacher/findClass/Score.do".equals(path)) teaController.score(req, resp);//跳转学生成绩页面
        else if ("/teacher/findClass/updateScore.do".equals(path)) teaController.updateScores(req, resp);//学生成绩修改后台
        else if ("/Administrator/classManager.do".equals(path))classController.classManager(req, resp);//管理员班级管理页面
        else if ("/Administrator/classManager/updateClass.do".equals(path))classController.update(req, resp);//修改班级信息页面
        else if ("/Administrator/classManager/updateClass/modifyNow.do".equals(path))classController.modifyClassNow(req, resp);//修改班级信息后台
        else if ("/Administrator/classManager/deleteClass.do".equals(path))classController.deleteClass(req,resp);//删除班级信息后台
        else if ("/Administrator/classManager/addClass.do".equals(path))classController.addClass(req, resp);//添加班级信息页面
        else if ("/Administrator/classManager/addClass/modifyNow.do".equals(path))classController.modifyAddClassNow(req, resp);//添加班级信息后台写入
        else if ("/Administrator/courses.do".equals(path))classController.courseManager(req,resp);//管理员课程管理页面
        else if ("/Administrator/courses/update.do".equals(path))classController.updateCourseName(req,resp);//课程信息修改页面
        else if ("/Administrator/courses/update/modifyNow.do".equals(path))classController.modifyCourseNow(req,resp);//课程信息修改后台
        else if ("/Administrator/courses/addCourse.do".equals(path))classController.addCourse(req,resp);//添加课程信息页面
        else if ("/Administrator/courses/add/modifyNow.do".equals(path))classController.modifyAddCourseNow(req,resp);//添加课程后台写入
        else if ("/Administrator/personStu.do".equals(path))perController.doStudent(req,resp);//学生管理主页
        else if ("/Administrator/personStu/updateIndex.do".equals(path))perController.goStu(req,resp);//跳转学生修改主页
        else if ("/Administrator/personStu/updateStu.do".equals(path))perController.updateStu(req,resp);//学生信息修改后台
        else if ("/Administrator/personStu/deleteStu.do".equals(path))perController.deleteStu(req,resp);//管理员删除学生
        else if ("/Administrator/personStu/addStu.do".equals(path))perController.addStu(req,resp);//管理员添加学生页
        else if ("/Administrator/personStu/addDoingStu.do".equals(path))perController.addDoingStu(req,resp);//管理员添加学生后台
        else if ("/Administrator/personTea.do".equals(path))perController.doTeacher(req,resp);//教师管理主页
        else if ("/Administrator/personTea/upIndex.do".equals(path))perController.upIndex(req,resp);//跳转教师修改主页
        else if ("/Administrator/personTea/upDoing.do".equals(path))perController.upTeach(req,resp);//跳转教师修改后台
        else if ("/Administrator/personTea/addTea.do".equals(path))perController.addTeacher(req,resp);//添加教师
        else if ("/Administrator/task.do".equals(path))taskController.show(req,resp);//教师管理主页
        else if ("/Administrator/task/delete.do".equals(path))taskController.delete(req,resp);//教师课程管理删除
        else if ("/Administrator/task/add.do".equals(path))taskController.add(req,resp);//教师课程管理添加
    }

    private void out(HttpServletResponse response)throws IOException,ServletException {
        response.getWriter().println("<body style=\"display: flex;justify-content: center;align-items: center\">\n" +
                "<h1 style=\"color:red\">无查阅授权::<h1>\n" +
                "<a href=\"/index.jsp\">点击返回首页</a> "+
                "</body>");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }


}

关于过滤器的参考:

package cn.com.interceptor;

import cn.com.entity.User;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * <p>Project:AcademicSystem - LoginFilter
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/13 17:45:12
 * @since 1.8
 */
public class LoginFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("------过滤器工作---------");
        HttpServletRequest request = (HttpServletRequest) servletRequest;
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        HttpSession session = request.getSession();
        User lgoinUser = (User) session.getAttribute("loginState");
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        String path = request.getServletPath();
        System.out.println(path);


        if (session.getAttribute("loginState") == null){
            if (request.getServletPath().equals("/index/login.do")){
                filterChain.doFilter(request,servletResponse);
                return;
            }
            request.getRequestDispatcher("/out.do").forward(request,response);
        }
//        else if (path.contains("/index/"))filterChain.doFilter(request,servletResponse);
//        else if (lgoinUser.getRole() == 0 && path.contains("/Administrator/"))filterChain.doFilter(request,servletResponse);
//        else if (lgoinUser.getRole() == 1 && path.contains("/student/"))filterChain.doFilter(request,servletResponse);
//        else if (lgoinUser.getRole() == 2 && path.contains("/teacher/"))filterChain.doFilter(request,servletResponse);
//        else {
//            request.getRequestDispatcher("/out.do").forward(request,response);
//        }

        filterChain.doFilter(request,response);


    }

    @Override
    public void destroy() {

    }
}

 关于controller的:

package cn.com.controller.administrator;

import cn.com.dao.ClaDao;
import cn.com.entity.Clazz;
import cn.com.entity.Course;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>Project:Academic - ClaController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:50:19
 * @since 1.8
 */
public class ClaController {
    private ClaDao claDao = new ClaDao();

    public void courseManager(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
        List<Course> course = claDao.findCourse();
        request.setAttribute("course",course);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/class/courseManagement.jsp").forward(request,response);
    }
    public void updateCourseName(HttpServletRequest request,HttpServletResponse response) throws  IOException , ServletException{
        String id = request.getParameter("id");
        String name = request.getParameter("name");
        request.setAttribute("id",id);
        request.setAttribute("name",name);
        request.getSession().setAttribute("id",id);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/class/updateCourses.jsp").forward(request,response);
    }
    public void modifyCourseNow(HttpServletRequest request,HttpServletResponse response) throws  IOException , ServletException{
        String id = request.getParameter("id");
        String name = request.getParameter("name");
        String oid = (String) request.getSession().getAttribute("id");

        boolean key = claDao.updateCourse(id,name,oid);

        if (key){
            response.sendRedirect("/Administrator/courses.do");
        }else {
            request.setAttribute("err","<span style=\"color:red\">课程编号已存在</span>");
            request.getRequestDispatcher("/Administrator/courses.do").forward(request,response);
        }

    }
    public void classManager(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
        List<Clazz> list = claDao.find();
        request.setAttribute("findClass",list);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/class/classManagement.jsp").forward(request, response);
    }
    public void update(HttpServletRequest req, HttpServletResponse resp)throws IOException, ServletException{
        String id = req.getParameter("id");
        String name = req.getParameter("name");
        req.setAttribute("id",id);
        req.setAttribute("name",name);
        req.getSession().setAttribute("oid",id);
        req.getRequestDispatcher("/WEB-INF/jsp/manager/class/updateName.jsp").forward(req,resp);
    }
    public void modifyClassNow(HttpServletRequest req, HttpServletResponse resp)throws IOException, ServletException{
        String id = req.getParameter("id");
        String name = req.getParameter("name");
        String oid = (String) req.getSession().getAttribute("oid");
        claDao.updateClassName(id,name,oid);
        req.getRequestDispatcher("/Administrator/classManager.do").forward(req,resp);
    }
    public void deleteClass(HttpServletRequest req, HttpServletResponse resp)throws IOException, ServletException{
        String id = req.getParameter("id");
        claDao.delete(id);
        req.getRequestDispatcher("/Administrator/classManager.do").forward(req,resp);
    }
    public void addClass(HttpServletRequest req, HttpServletResponse resp)throws IOException, ServletException{
        req.getRequestDispatcher("/WEB-INF/jsp/manager/class/addClass.jsp").forward(req,resp);
    }
    public void modifyAddClassNow(HttpServletRequest req, HttpServletResponse resp)throws IOException, ServletException{
        String id = req.getParameter("id");
        String name = req.getParameter("name");
        Boolean b = claDao.addClass(id, name);
        if (b){
            req.getRequestDispatcher("/Administrator/classManager.do").forward(req,resp);
        }else {
            req.setAttribute("err" , "<span style=\"color:red\">班级编号已存在</span>");
            req.getRequestDispatcher("/Administrator/classManager.do").forward(req,resp);
        }
    }
    public void addCourse(HttpServletRequest req, HttpServletResponse resp) throws IOException,ServletException{
        req.getRequestDispatcher("/WEB-INF/jsp/manager/class/addCourse.jsp").forward(req,resp);
    }

    public void modifyAddCourseNow(HttpServletRequest req, HttpServletResponse resp) throws IOException,ServletException{
        int id = Integer.parseInt(req.getParameter("id"));
        String name = req.getParameter("name");

        boolean key = claDao.addCourse(id,name);

        if (key){
            req.getRequestDispatcher("/Administrator/courses.do").forward(req,resp);
        }else {
            req.setAttribute("err" , "<span style=\"color:red\">班级编号已存在</span>");
            req.getRequestDispatcher("/Administrator/courses.do").forward(req,resp);
        }

    }
}
package cn.com.controller.administrator;

import cn.com.dao.PerDao;
import cn.com.entity.Clazz;
import cn.com.entity.Student;
import cn.com.entity.Teacher;
import cn.com.tool.Jdbc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - PerController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:50:44
 * @since 1.8
 */
public class PerController {
    private PerDao perDao = new PerDao();

    public void doStudent(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        List<Student> list =  perDao.doStudent();
        request.setAttribute("doStudent",list);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/student/show.jsp").forward(request,response);
    }
    public void goStu(HttpServletRequest request,HttpServletResponse response) throws  IOException , ServletException{
        int cid = Integer.parseInt(request.getParameter("cid"));
        String sname = request.getParameter("sname");
        int user = Integer.parseInt(request.getParameter("phone"));
        String pwd = request.getParameter("pwd");
        String clazz = request.getParameter("clazz");
        String cname = request.getParameter("cname");

        List<Clazz> list = perDao.goStu(cid,sname,user,pwd,clazz,cname);
        System.out.println(list);

        request.setAttribute("list",list);
        request.getSession().setAttribute("goStu",new Student(cid,sname,user,pwd,clazz,cname));
        request.getRequestDispatcher("/WEB-INF/jsp/manager/personalInfo/student/update.jsp").forward(request,response);
    }
    public void updateStu(HttpServletRequest request,HttpServletResponse response) throws  IOException , ServletException{
        int sid = Integer.parseInt(request.getParameter("id"));
        String sname = request.getParameter("name");
        int phone = Integer.parseInt(request.getParameter("phone"));
        String pwd = request.getParameter("pwd");
        String cid = request.getParameter("cid");//注意页面提交的内容为班级的id
        Student str = (Student) request.getSession().getAttribute("goStu");//原有的用户信息

        boolean key = perDao.updateStu(sid,sname,phone,pwd,cid,str);
        request.getSession().removeAttribute("goStu");
        if (key){
            request.getRequestDispatcher("/Administrator/personStu.do").forward(request,response);
            return;
        }
        request.setAttribute("err","ID或手机号与系统中的重复!!!");
        request.getRequestDispatcher("/Administrator/personStu.do").forward(request,response);
    }
    public void deleteStu(HttpServletRequest request,HttpServletResponse response) throws IOException , ServletException{
        int sid = Integer.parseInt(request.getParameter("cid"));
        int phone = Integer.parseInt(request.getParameter("phone"));
        perDao.delete(sid,phone);
        request.getRequestDispatcher("/Administrator/personStu.do").forward(request,response);
    }
    public void addStu(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        List<Clazz> list = perDao.addStu();
        request.setAttribute("addStu",list);//获取班级信息.
        System.out.println(list);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/personalInfo/student/add.jsp").forward(request,response);

    }
    public void addDoingStu(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        String name = request.getParameter("name");
        long user = Long.parseLong(request.getParameter("phone"));
        String pwd = request.getParameter("pwd");
        String clazz = request.getParameter("cid");
        boolean key = perDao.addDoingStu(name,user,pwd,clazz);
        if (key){
            request.getRequestDispatcher("/Administrator/personStu.do").forward(request,response);
        }else {
            request.setAttribute("err","<span style=\"color:red\">:用户手机号已存在系统中</span>");
            request.getRequestDispatcher("/Administrator/personStu.do").forward(request,response);
        }




    }
    public void doTeacher(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        List<Teacher> list =  perDao.doTeacher();
        request.setAttribute("doTeacher",list);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/personalInfo/teacher/show.jsp").forward(request,response);
    }
    public void upIndex(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        int id = Integer.parseInt(request.getParameter("cid"));
        String name = request.getParameter("sname");
        int user = Integer.parseInt(request.getParameter("user"));
        String pwd = request.getParameter("pwd");
        request.getSession().setAttribute("tea_up",new Teacher(id,name,user,pwd));
        request.getRequestDispatcher("/WEB-INF/jsp/manager/personalInfo/teacher/update.jsp").forward(request,response);
    }
    public void upTeach(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        Teacher t = (Teacher) request.getSession().getAttribute("tea_up");
        int id = Integer.parseInt(request.getParameter("id"));
        String name = request.getParameter("name");
        int phone = Integer.parseInt(request.getParameter("user"));
        String pwd = request.getParameter("pwd");
        boolean key = perDao.updateTea(id,name,phone,pwd,t);
        if (key){
            request.getRequestDispatcher("/Administrator/personTea.do").forward(request,response);
            return;
        }
        request.setAttribute("err","ID或手机号与系统中的重复!!!");
        request.getRequestDispatcher("/Administrator/personTea.do").forward(request,response);
    }
    public void addTeacher(HttpServletRequest request, HttpServletResponse response) throws IOException , ServletException{
        if (request.getParameter("name") != null){
            String name = request.getParameter("name");
            int phone = Integer.parseInt(request.getParameter("phone"));
            String pwd = request.getParameter("pwd");
            boolean key = perDao.addTeacher(name,phone,pwd);
            if (key){
                request.getRequestDispatcher("/Administrator/personTea.do").forward(request,response);
                return;
            }
            request.setAttribute("err","添加失败");
            request.getRequestDispatcher("/Administrator/personTea.do").forward(request,response);
            return;
        }
        request.getRequestDispatcher("/WEB-INF/jsp/manager/personalInfo/teacher/add.jsp").forward(request,response);
    }
}
package cn.com.controller.administrator;

import cn.com.dao.TaskDao;
import cn.com.entity.ClassTimetable;
import cn.com.entity.Clazz;
import cn.com.entity.Course;
import cn.com.entity.Teacher;
import cn.com.tool.Jdbc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - TaskController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:51:20
 * @since 1.8
 */
public class TaskController {
    private TaskDao taskDao = new TaskDao();
    public void show(HttpServletRequest request , HttpServletResponse response) throws IOException, ServletException{

        List<ClassTimetable> list = taskDao.getClassTimetableList();
        List<Teacher> tea = taskDao.getTeacherList();
        List<Clazz> cla = taskDao.getClazzList();
        List<Course> cou = taskDao.getCourseList();
        request.setAttribute("tea" ,tea);
        request.setAttribute("cla" ,cla);
        request.setAttribute("cou" ,cou);

        request.getSession().setAttribute("task",list);
        request.getRequestDispatcher("/WEB-INF/jsp/manager/task/show.jsp").forward(request,response);
    }
    public void delete(HttpServletRequest request , HttpServletResponse response) throws  IOException,ServletException{
        int id = Integer.parseInt(request.getParameter("id"));
        taskDao.delete(id);
        request.getRequestDispatcher("/Administrator/task.do").forward(request,response);
    }
    public void add(HttpServletRequest request, HttpServletResponse response) throws  IOException,ServletException{
        String teacher = request.getParameter("teacher");
        String aClass = request.getParameter("clazz");
        String courses = request.getParameter("courses");

        boolean k = taskDao.add(teacher,aClass,courses);
        if (k){
            request.getRequestDispatcher("/Administrator/task.do").forward(request,response);
            return;
        }
        request.setAttribute("err","课程重复!!!");
        request.getRequestDispatcher("/Administrator/task.do").forward(request,response);
    }
}
package cn.com.controller;

import cn.com.dao.UserDao;
import cn.com.entity.User;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * <p>Project:Academic - LoginController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:55:08
 * @since 1.8
 */
public class LoginController {
    private static UserDao userDao = new UserDao();

    public void goLogin (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
        System.out.println("进入了goLogin");
        int phone = Integer.parseInt(request.getParameter("phone"));
        String pwd = request.getParameter("pwd");
        User u = userDao.find(phone,pwd);
        if (u == null){
            request.setAttribute("err","<span style=\"color:red\">账户密码错误</span>");
            request.getRequestDispatcher("/index.do").forward(request,response);
            System.out.println("密码错误");
            return;
        }
        System.out.println("true");
        request.getSession().setAttribute("loginState",u);
        request.getRequestDispatcher("/index.do").forward(request,response);

    }
    public void goLogout (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{
        request.getSession().invalidate();
        request.getRequestDispatcher("/index.do").forward(request, response);
    }
}
package cn.com.controller;

import cn.com.dao.StudentDao;
import cn.com.entity.ClassTimetable;
import cn.com.entity.Scores;
import cn.com.entity.User;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - StuController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:49:25
 * @since 1.8
 */
public class StuController {

    private StudentDao studentDao = new StudentDao();

    public void doHome_one(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException {
        request.getRequestDispatcher("/WEB-INF/jsp/stu/update.jsp").forward(request,response);
    }

    public void modifyNow(HttpServletRequest request,HttpServletResponse response) throws ServletException , IOException {
        String name = request.getParameter("name");
        String pwd = request.getParameter("pwd");
        User oleId = (User) request.getSession().getAttribute("loginState");
        if (studentDao.modifyNow(name,pwd,oleId.getId())) {
            if (!name.equals(oleId.getName()))oleId.setName(name);
            if (!pwd.equals(oleId.getPwd()))oleId.setPwd(pwd);
            request.getSession().setAttribute("loginState",oleId);
            request.setAttribute("update","<span style=\"color: red\">(修改成功)</span>");
            request.getRequestDispatcher("/index.do").forward(request,response);
        }else {
            request.setAttribute("update","<span style=\"color: red\">(数据异常)</span>");
            request.getRequestDispatcher("/index.do").forward(request,response);
        }

    }
    public void doHome_two(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException{
        User user = (User) request.getSession().getAttribute("loginState");
        List<ClassTimetable> list = studentDao.find(user.getClazz());
        request.setAttribute("clazz",list);
        request.getRequestDispatcher("/WEB-INF/jsp/stu/show.jsp").forward(request,response);
    }

    public void doHome_three(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException{
        User user = (User) request.getSession().getAttribute("loginState");

        List<Scores> list = studentDao.findScores(user.getId());
        System.out.println(list);
        request.setAttribute("score",list);
        request.getRequestDispatcher("/WEB-INF/jsp/stu/find.jsp").forward(request,response);

    }
}
package cn.com.controller;

import cn.com.dao.TeacherDao;
import cn.com.entity.MyClass;
import cn.com.entity.TeacherScore;
import cn.com.entity.User;
import cn.com.tool.Jdbc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - TeaController
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 08:49:42
 * @since 1.8
 */
@SuppressWarnings({"all"})
public class TeaController {
    private TeacherDao teacherDao = new TeacherDao();

    public void doHome_one(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("/WEB-INF/jsp/tea/update.jsp").forward(request,response);
    }
    public void modifyNow(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        String pwd = request.getParameter("pwd");
        int phone = Integer.parseInt(request.getParameter("phone"));
        User oleId = (User) request.getSession().getAttribute("loginState");
        if (teacherDao.show(name, pwd,phone,oleId.getId())) {
            if (!name.equals(oleId.getName()))oleId.setName(name);//改变session数据
            if (!pwd.equals(oleId.getPwd()))oleId.setPwd(pwd);//改变session数据
            if (!(phone == oleId.getPhone()))oleId.setPhone(phone);//改变session数据
            request.getSession().setAttribute("loginState",oleId);//改变session数据
            request.setAttribute("update","<span style=\"color: red\">(修改成功)</span>");
            request.getRequestDispatcher("/index.do").forward(request,response);
        }else {
            request.setAttribute("update","<span style=\"color: red\">(数据异常,或手机号已存在)</span>");
            request.getRequestDispatcher("/index.do").forward(request,response);
        }
    }

    public void doHome_two(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = (User) request.getSession().getAttribute("loginState");//取出id
        List<MyClass> list = teacherDao.find(user.getId());
        request.getSession().setAttribute("myclass",list);
        request.getRequestDispatcher("/WEB-INF/jsp/tea/find.jsp").forward(request,response);
    }
    public void score(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String cid = request.getParameter("cid");
        String coid = request.getParameter("coid");
        List<TeacherScore> list = teacherDao.doFind(cid,coid);
        request.setAttribute("teaScore",list);
        request.setAttribute("cid",cid);
        request.setAttribute("coid",coid);
        request.getRequestDispatcher("/WEB-INF/jsp/tea/whole.jsp").forward(request,response);
    }
    public void updateScores(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
        int sid = Integer.parseInt(req.getParameter("id"));
        String cid = req.getParameter("cid");
        int coid = Integer.parseInt(req.getParameter("coid"));
        double scores = Double.parseDouble(req.getParameter("scores"));


        if (!(scores>=0 && scores<=100)){
            req.setAttribute("whole",":<span style=\"color:red\">无效值</span>");
            req.getRequestDispatcher("/teacher/findClass/Score.do").forward(req,resp);
            return;
        }

        boolean key = teacherDao.modifyNow(sid,coid,scores);
        req.setAttribute("cid",cid);
        req.setAttribute("coid",coid);
        if (key){
            System.out.println("成功");
            req.setAttribute("whole",":<span style=\"color:red\">修改成功</span>");
            req.getRequestDispatcher("/teacher/findClass/Score.do").forward(req,resp);
        }else {
            System.out.println("失败");
            req.setAttribute("whole",":<span style=\"color:red\">修改失败</span>");
            req.getRequestDispatcher("/teacher/findClass/Score.do").forward(req,resp);
        }

    }
}

关于对数据库操作的dao方法:

package cn.com.dao;

import cn.com.entity.Clazz;
import cn.com.entity.Course;
import cn.com.tool.Jdbc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - ClaDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 22:41:20
 * @since 1.8
 */
@SuppressWarnings("all")
public class ClaDao {
    public void delete( String id ){
        Connection connection =null;
        PreparedStatement preparedStatement = null;

        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("delete from t_class where id = '"+id+"';");
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }

    }
    public boolean updateClassName(String id,String name,String oid){
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select id from t_class where id ='"+id+"' and id != '"+oid+"';");
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                return false;
            }
            preparedStatement = connection.prepareStatement("update t_class set id ='"+id+"',name = '"+name+"' where id = '"+oid+"';");
            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        if (i > 0)return true;
        return false;
    }
    public List<Clazz> find() {
        List<Clazz> list = new ArrayList<>();
        String sql = "SELECT * FROM `t_class`";
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()){
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                list.add(new Clazz(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return list;
    }

    public Boolean addClass(String id, String name) {
        Connection connection =null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;


        try {
            connection = Jdbc.getConnection();

            preparedStatement = connection.prepareStatement("select id from t_class where id ='"+id+"';");
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                return false;
            }
            preparedStatement = connection.prepareStatement("insert into  t_class values ('"+id+"' , '"+name+"');");
            int i = preparedStatement.executeUpdate();
            if (i > 0) return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return false;
    }

    public List<Course> findCourse() {
        List<Course> list = new ArrayList<>();
        String sql = "SELECT * FROM `t_courses`";
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()){
                String id = resultSet.getString("c_id");
                String name = resultSet.getString("c_name");
                list.add(new Course(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;
    }
    public boolean updateCourse(String id, String name, String oid) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select c_id from t_courses where c_id ="+id+" and c_id != '"+oid+"';");
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                return false;
            }
            preparedStatement = connection.prepareStatement("update t_courses set c_id ="+id+",c_name = '"+name+"' where c_id = '"+oid+"';");
            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        if (i > 0)return true;
        return false;
    }
    public boolean addCourse(int id, String name) {
        Connection connection =null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;


        try {
            connection = Jdbc.getConnection();

            preparedStatement = connection.prepareStatement("select c_id from t_courses where c_id ="+id+";");
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                return false;
            }
            preparedStatement = connection.prepareStatement("insert into  t_courses values ("+id+",'"+name+"');");
            int i = preparedStatement.executeUpdate();
            if (i > 0) return true;
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return false;
    }
}
package cn.com.dao;

import cn.com.entity.Clazz;
import cn.com.entity.Student;
import cn.com.entity.Teacher;
import cn.com.tool.Jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - PerDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/15 01:44:34
 * @since 1.8
 */
public class PerDao {
    public List<Student> doStudent() {
        List<Student> list = new ArrayList<>();

        String sql = "SELECT `t_user`.id AS sid,`t_user`.name AS sname,`phone`,`pwd`,clazz,`t_class`.name AS cname FROM `t_user`RIGHT JOIN `t_class`ON`t_user`.clazz = `t_class`.id WHERE `t_user`.clazz IS NOT NULL";

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int sid = resultSet.getInt("sid");
                String sname = resultSet.getString("sname");
                int user = resultSet.getInt("phone");
                String pwd = resultSet.getString("pwd");
                String clazz = resultSet.getString("clazz");
                String cname = resultSet.getString("cname");
                list.add(new Student(sid,sname,user,pwd,clazz,cname));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        Jdbc.close(resultSet,preparedStatement,connection);
        return list;
    }
    public List<Clazz> goStu(int cid, String sname, int user, String pwd, String clazz, String cname) {
        List<Clazz> list = new ArrayList<>();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_class");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                list.add(new Clazz(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return list;
    }
    public boolean updateStu(int sid, String sname, int phone, String pwd, String clazz, Student stu) {
        Connection connection = Jdbc.getConnection();
        PreparedStatement preparedStatement = null;
        ResultSet resultSet =null;
        int i = 0;
        try {

            if (stu.getUser() != phone){
                System.out.println("1");
                preparedStatement = connection.prepareStatement("select * from t_user where `phone` = "+phone+" and id != "+stu.getSid());
                resultSet = preparedStatement.executeQuery();
                if (resultSet.next()) {
                    Jdbc.close(resultSet,preparedStatement,connection);
                    return false;
                }
            }

            if (stu.getSid() != sid){
                System.out.println(2);
                preparedStatement = connection.prepareStatement("select * from t_user where `id` = "+sid+" and id !="+stu.getSid());
                resultSet = preparedStatement.executeQuery();
                if (resultSet.next()) {
                    Jdbc.close(resultSet,preparedStatement,connection);
                    return false;
                }
            }

            System.out.println(3);
            preparedStatement = connection.prepareStatement("update t_user set id = ?,name =?,phone =?,pwd =?,clazz=? where id ="+stu.getSid());
            preparedStatement.setInt(1,sid);
            preparedStatement.setString(2,sname);
            preparedStatement.setInt(3,phone);
            preparedStatement.setString(4,pwd);
            preparedStatement.setString(5,clazz);
            i = preparedStatement.executeUpdate();
            preparedStatement = connection.prepareStatement("update `t_score` set sid=? where sid =" + stu.getSid());
            preparedStatement.setInt(1,sid);
            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }
        if (i > 0)return true;
        return false;
    }
    public void delete(int sid, int phone) {
        Connection connection =null;
        PreparedStatement preparedStatement = null;

        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("delete from t_user where id =? and phone = ?;");
            preparedStatement.setInt(1,sid);
            preparedStatement.setInt(2,phone);
            preparedStatement.executeUpdate();
            preparedStatement = connection.prepareStatement("delete from `t_score` where sid =?;");
            preparedStatement.setInt(1,sid);
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }
    }
    public List<Clazz> addStu(){
        List<Clazz> list = new ArrayList<>();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_class");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                list.add(new Clazz(id,name));
            }
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;
    }
    public boolean addDoingStu(String name, long phone, String pwd, String clazz) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_user where `phone`="+phone);
            resultSet = preparedStatement.executeQuery();

            if (resultSet.next()){
                Jdbc.close(resultSet,preparedStatement,connection);
                return false;
            }
            preparedStatement = connection.prepareStatement("insert into t_user(name,`phone`,pwd,role,clazz) values (?,?,?,?,?)");
            preparedStatement.setString(1,name);
            preparedStatement.setInt(2, (int) phone);
            preparedStatement.setString(3,pwd);
            preparedStatement.setInt(4,1);
            preparedStatement.setString(5,clazz);
            int i = preparedStatement.executeUpdate();
            if (i>0){
                Jdbc.close(resultSet,preparedStatement,connection);
                return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return false;
    }
    public List<Teacher> doTeacher() {
        List<Teacher> list = new ArrayList<>();

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_user where role = 2");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = Integer.parseInt(resultSet.getString("id"));
                String name = resultSet.getString("name");
                int phone = resultSet.getInt("phone");
                String pwd = resultSet.getString("pwd");

                list.add(new Teacher(id,name,phone,pwd));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return list;

    }
    public boolean updateTea(int id, String name, int phone, String pwd, Teacher t) {
        Connection connection =Jdbc.getConnection();
        PreparedStatement preparedStatement = null;
        int i=0;
        try {
            preparedStatement = connection.prepareStatement("select * from t_user where `phone` ="+phone +" and id !="+t.getId());
            if (preparedStatement.executeQuery().next()) {
                Jdbc.close(null,preparedStatement,connection);
                return false;
            }
            preparedStatement = connection.prepareStatement("select * from t_user where `id` ="+id +" and id !="+t.getId());
            if (preparedStatement.executeQuery().next()) {
                Jdbc.close(null,preparedStatement,connection);
                return false;
            }
            preparedStatement = connection.prepareStatement("update t_user set id=?,name=?,phone=?,pwd=? where id ="+t.getId());
            preparedStatement.setInt(1,id);
            preparedStatement.setString(2,name);
            preparedStatement.setInt(3,phone);
            preparedStatement.setString(4,pwd);
            i = preparedStatement.executeUpdate();
            if (id != t.getId()){
                preparedStatement = connection.prepareStatement("update `t_task` set tid = '"+id+"' where tid ="+t.getId());
                preparedStatement.executeUpdate();
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }
        if (i > 0){
            return true;
        }else {
            return false;
        }

    }

    public boolean addTeacher(String name, int phone, String pwd) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_user where `phone` = " + phone);
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()) {
                Jdbc.close(resultSet,preparedStatement,connection);
                return false;
            }
            preparedStatement = connection.prepareStatement("insert into t_user(name,`phone`,pwd,role) values ('"+name+"',"+phone+",'"+pwd+"',2)");
            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        if (i>0){
            return true;
        }
        return false;
    }
}
package cn.com.dao;

import cn.com.entity.ClassTimetable;
import cn.com.entity.Scores;
import cn.com.entity.User;
import cn.com.tool.Jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - StudentDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 15:28:42
 * @since 1.8
 */
public class StudentDao {
    public boolean modifyNow(String name,String pwd,int id){

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement= connection.prepareStatement("UPDATE t_user SET `name` = '"+name+"',pwd= "+pwd+" WHERE id = "+id);
             i = preparedStatement.executeUpdate();

        } catch (Exception e) {
            System.out.println("有异常抛出");
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }

        if ( i > 0){
            return true;
        }
        return false;
    }

    public List<ClassTimetable> find(String clazz){
        List<ClassTimetable> list = new ArrayList<>();

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null ;

        String sql = "SELECT `t_user`.id AS id,`t_user`.name AS `tname`,`t_task`.cid,`t_class`.name AS cname,`t_task`.coid,`t_courses`.c_name  \n" +
                "\tFROM t_task \n" +
                "\t\tRIGHT JOIN `t_user` ON `t_task`.tid = `t_user`.id \n" +
                "\t\tLEFT JOIN `t_class` ON `t_class`.id = `t_task`.cid \n" +
                "\t\tLEFT JOIN `t_courses` ON `t_task`.coid = `t_courses`.c_id \n" +
                "\t\tWHERE `t_user`.role =2 AND `t_task`.cid='"+clazz+"'";

        try{
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = resultSet.getInt("id");
                String name = resultSet.getString("tname");
                String cid = resultSet.getString("cid");
                String cname = resultSet.getString("cname");
                int c_id = resultSet.getInt("coid");
                String c_name = resultSet.getString("c_name");
                list.add(new ClassTimetable(id,name,cid,cname,c_id,c_name));
            }

        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;
    }

    public List<Scores> findScores(int id){

        List<Scores> list = new ArrayList<>();

        String sql ="SELECT `t_class`.id AS cid,`t_class`.name AS cname,`t_user`.id AS sid,`t_user`.name AS sname,\n" +
                "c_id,c_name,scores,uptime FROM `t_score`\n" +
                "\tLEFT JOIN `t_user` ON `t_user`.id = `t_score`.sid\n" +
                "\tLEFT JOIN `t_class` ON `t_user`.clazz = `t_class`.id\n" +
                "\tLEFT JOIN `t_courses` ON `t_courses`.c_id = `t_score`.coid\n" +
                "\tWHERE sid = " + id;
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()){
                String cid = resultSet.getString("cid");
                String cname = resultSet.getString("cname");
                int sid = resultSet.getInt("sid");
                String sname = resultSet.getString("sname");
                int c_id = resultSet.getInt("c_id");
                String c_name = resultSet.getString("c_name");
                double scores = resultSet.getDouble("scores");
                String uptime = resultSet.getString("uptime");
                list.add(new Scores(cid,cname,sid,sname,c_id,c_name,scores,uptime));
                System.out.println("查询存在");
            }
        } catch (SQLException e) {
           e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;
    }
}
package cn.com.dao;

import cn.com.entity.ClassTimetable;
import cn.com.entity.Clazz;
import cn.com.entity.Course;
import cn.com.entity.Teacher;
import cn.com.tool.Jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - TaskDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/15 18:54:21
 * @since 1.8
 */
public class TaskDao {
    public List<ClassTimetable> getClassTimetableList(){

        List<ClassTimetable> list = new ArrayList<>();

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            String sql = "SELECT `t_user`.id AS id,`t_user`.name AS `tname`,`t_task`.cid,`t_class`.name AS cname,`t_task`.coid,`t_courses`.c_name  FROM t_task \n" +
                    "\tright JOIN `t_user` ON `t_task`.tid = `t_user`.id\n" +
                    "\tright JOIN `t_class` ON `t_class`.id = `t_task`.cid\n" +
                    "\tLEFT JOIN `t_courses` ON `t_task`.coid = `t_courses`.c_id " +
                    "WHERE `t_user`.role =2";
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = resultSet.getInt("id");
                String tname = resultSet.getString("tname");
                String cid = resultSet.getString("cid");
                String cname = resultSet.getString("cname");
                int c_id = resultSet.getInt("coid");
                String c_name = resultSet.getString("c_name");

                list.add(new ClassTimetable(id,tname,cid,cname,c_id,c_name));
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return list;
    }
    public List<Teacher> getTeacherList(){

        List<Teacher> list =new ArrayList<>();
        Connection connection =null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from `t_user` where role = 2");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = Integer.parseInt(resultSet.getString("id"));
                String name = resultSet.getString("name");
                list.add(new Teacher(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;

    }
    public List< Clazz > getClazzList(){
        Connection connection = null;
        PreparedStatement  preparedStatement =null;
        ResultSet resultSet = null;
        List<Clazz> list = new ArrayList<>();
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_class");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                String id = resultSet.getString("id");
                String name = resultSet.getString("name");
                list.add(new Clazz(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return list;
    }
    public List<Course>  getCourseList(){
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        List<Course> list = new ArrayList<>();
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from `t_courses`");
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                String id = resultSet.getString("c_id");
                String name = resultSet.getString("c_name");
                list.add(new Course(id,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return list;
    }
    public void delete(int id) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("delete from t_task where tid =" + id);
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }
    }
    public boolean add(String teacher, String aClass, String courses) {
        String sql = "SELECT `t_user`.id AS id,`t_user`.name AS `tname`,`t_task`.cid,`t_class`.name AS cname,`t_task`.coid,`t_courses`.c_name  FROM t_task " +
                "RIGHT JOIN `t_user` ON `t_task`.tid = `t_user`.id " +
                "LEFT JOIN `t_class` ON `t_class`.id = `t_task`.cid " +
                "LEFT JOIN `t_courses` ON `t_task`.coid = `t_courses`.c_id " +
                "WHERE `t_user`.role =2 " +
                "AND `t_user`.id =   " + teacher+
                " AND `t_task`.cid = '"+aClass+"' " +
                "AND `t_task`.coid = "+courses+";";
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                Jdbc.close(resultSet,preparedStatement,connection);
                return false;
            } else {
                preparedStatement = connection.prepareStatement("insert into t_task(cid,coid,tid) values('"+aClass+"',"+courses+","+teacher+") ");
                i = preparedStatement.executeUpdate();
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }
        return i > 0 ? true:false;
    }
}
package cn.com.dao;

import cn.com.entity.MyClass;
import cn.com.entity.TeacherScore;
import cn.com.entity.User;
import cn.com.tool.Jdbc;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project:Academic - TeacherDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 18:53:21
 * @since 1.8
 */
public class TeacherDao {

    public boolean show(String name,String pwd,int phone,int id){

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_user where phone ="+phone+" and id != "+id);
            resultSet = preparedStatement.executeQuery();
            if (resultSet.next()){
                Jdbc.close(resultSet,preparedStatement,connection);
                return false;
            }else {
                Jdbc.close(resultSet,null,null);
            }
            preparedStatement= connection.prepareStatement("UPDATE t_user SET `name` = '"+name+"',pwd= "+pwd+",phone ="+phone+" WHERE id = "+id);
            i = preparedStatement.executeUpdate();

        } catch (Exception e) {
            System.out.println("有异常抛出");
            e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }

        if ( i > 0){
            return true;
        }
        return false;
    }

    public List<MyClass> find(int id) {
        List<MyClass> list = new ArrayList<>();
        String sql = "SELECT t_task.*,t_courses.c_name,t_class.name,t_user.name AS tname  " +
                "FROM `t_task`,`t_courses`,`t_class`,`t_user`  WHERE t_task.coid = t_courses.c_id AND t_task.tid = t_user.id AND t_task.cid = t_class.id AND t_task.tid = "+id+";";
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()){
                String cid = resultSet.getString("cid");//班级id
                int coid = resultSet.getInt("coid");//课程id
                String cName = resultSet.getString("c_name");//课程名称
                String name = resultSet.getString("name");//班级名称

                list.add(new MyClass(cid,coid,cName,name));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return list;
    }

    public List<TeacherScore> doFind(String cid,String co_id){
        List<TeacherScore> list = new ArrayList<>();

        String sql ="select t_user.id,`t_user`.clazz,t_user.phone,t_user.name,t_courses.c_id,t_courses.c_name, t_score.scores,`t_class`.name as cname from `t_user`LEFT JOIN `t_class` ON `t_user`.clazz =`t_class`.id left join `t_score`on `t_user`.id = `t_score`.sid left join  `t_courses`on `t_courses`.c_id = `t_score`.coid where `t_user`.clazz ='"+cid+"' and t_courses.c_id = " +co_id;

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()){
                int id = resultSet.getInt("id");
                String clazz = resultSet.getString("clazz");
                int user = resultSet.getInt("phone");
                String name = resultSet.getString("name");
                int coi = resultSet.getInt("c_id");
                String coname = resultSet.getString("c_name");
                double scores = resultSet.getDouble("scores");
                String cname = resultSet.getString("cname");
                list.add(new TeacherScore(id,clazz,user,name,coi,coname,scores,cname));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        Jdbc.close(resultSet,preparedStatement,connection);

        return list;
    }

    public boolean modifyNow(int s_id,int co_id,double score){
        String sql = "UPDATE `t_score` SET `scores` = "+score+" WHERE sid = "+s_id+" AND coid = "+co_id+";";

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        int i = 0;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement(sql);
            i = preparedStatement.executeUpdate();
        } catch (SQLException e) {
           e.printStackTrace();
        }finally {
            Jdbc.close(null,preparedStatement,connection);
        }

        if (i > 0)return true;
        return false;
    }
}
package cn.com.dao;

import cn.com.entity.User;
import cn.com.tool.Jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * <p>Project:Academic - UserDao
 *
 * @author 黄俊玮 On Administrator
 * @version 1.0
 * @DataTime 2024/6/14 09:32:01
 * @since 1.8
 */
public class UserDao {
    public User find(int inPhone,String inPwd){
        User user = null;

        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = Jdbc.getConnection();
            preparedStatement = connection.prepareStatement("select * from t_user where phone ="+inPhone+" and pwd ='"+inPwd+"';");
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()){
                user = new User();
                user.setId(resultSet.getInt("id"));
                user.setName(resultSet.getString("name"));
                user.setPhone(resultSet.getInt("phone"));
                user.setPwd(resultSet.getString("pwd"));
                user.setRole( resultSet.getInt("role"));
                user.setClazz(resultSet.getString("clazz"));
                return user;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            Jdbc.close(resultSet,preparedStatement,connection);
        }

        return null;
    }
}

实现类:

实现多用于dao的操作

后附件代码源目录,修大家修改后使用。

/*
SQLyog Community v13.1.6 (64 bit)
MySQL - 5.7.19 : Database - hjw1
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`hjw1` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `hjw1`;

/*Table structure for table `t_class` */

DROP TABLE IF EXISTS `t_class`;

CREATE TABLE `t_class` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `t_class` */

insert  into `t_class`(`id`,`name`) values 
('B01','测试班级01号'),
('B02','测试班级02号'),
('B03','测试班级03号'),
('B04','测试班');

/*Table structure for table `t_courses` */

DROP TABLE IF EXISTS `t_courses`;

CREATE TABLE `t_courses` (
  `c_id` int(11) NOT NULL AUTO_INCREMENT,
  `c_name` varchar(255) NOT NULL,
  PRIMARY KEY (`c_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

/*Data for the table `t_courses` */

insert  into `t_courses`(`c_id`,`c_name`) values 
(1,'MySQL数据库'),
(2,'JavaWeb'),
(3,'计算机基础'),
(4,'SpringBoot'),
(5,'高数'),
(6,'跨境电商'),
(7,'大学英语');

/*Table structure for table `t_score` */

DROP TABLE IF EXISTS `t_score`;

CREATE TABLE `t_score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `sid` int(11) NOT NULL,
  `coid` int(11) NOT NULL,
  `scores` double(6,2) NOT NULL DEFAULT '0.00',
  `uptime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `tid` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

/*Data for the table `t_score` */

insert  into `t_score`(`id`,`sid`,`coid`,`scores`,`uptime`,`tid`) values 
(1,1,5,98.00,'2024-06-12 08:51:10',NULL),
(2,1,2,87.00,'2024-06-12 08:51:10',NULL),
(3,1,3,89.00,'2024-06-12 08:51:10',NULL),
(4,2,6,77.00,'2024-06-12 08:51:10',NULL),
(5,2,3,81.00,'2024-06-12 08:51:10',NULL),
(6,2,1,98.00,'2024-06-12 08:51:10',NULL),
(7,2,5,67.00,'2024-06-12 08:51:10',NULL),
(8,3,3,75.00,'2024-06-12 08:51:10',NULL),
(9,3,1,80.00,'2024-06-12 08:51:10',NULL),
(10,23,1,76.00,'2024-06-12 08:51:10',NULL),
(11,23,6,70.00,'2024-06-12 08:51:10',NULL),
(12,23,1,89.00,'2024-06-12 08:51:10',NULL),
(13,24,2,68.00,'2024-06-12 08:52:26',NULL),
(14,24,5,88.00,'2024-06-12 08:55:52',NULL),
(15,24,3,89.00,'2024-06-12 08:56:13',NULL);

/*Table structure for table `t_task` */

DROP TABLE IF EXISTS `t_task`;

CREATE TABLE `t_task` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cid` varchar(45) NOT NULL,
  `coid` int(11) NOT NULL,
  `tid` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

/*Data for the table `t_task` */

insert  into `t_task`(`id`,`cid`,`coid`,`tid`) values 
(1,'B01',1,4),
(2,'B01',4,5),
(3,'B01',3,6),
(4,'B01',6,4),
(5,'B02',2,5),
(6,'B02',1,4),
(7,'B02',5,5),
(8,'B02',3,6),
(9,'B03',7,27);

/*Table structure for table `t_user` */

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长',
  `name` varchar(36) NOT NULL,
  `user` varchar(255) NOT NULL,
  `pwd` varchar(64) NOT NULL,
  `role` varchar(32) NOT NULL DEFAULT '1',
  `class` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

/*Data for the table `t_user` */

insert  into `t_user`(`id`,`name`,`user`,`pwd`,`role`,`class`) values 
(1,'李在民','121001','111','1','B02'),
(2,'黎明1','121002','111','1','B01'),
(3,'朱元璋','121003','111','1','B01'),
(4,'院长','131002','111','2',NULL),
(5,'马老师','131003','111','2',NULL),
(6,'jack','131001','111','2',NULL),
(7,'李世民','1','1','0',NULL),
(23,'郑成功','121004','111','1','B02'),
(24,'王老五','121005','111','1','B02'),
(26,'阿斯顿','121006','111','1','B03'),
(27,'tom','131005','111','2',NULL);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

sql语句如上代码,位置如图:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易兮~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值