因为项目需要连接数据库,所以需要一个连接数据库的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语句如上代码,位置如图: