加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

Java开发一个学生成绩管理系统【附代码】

发布时间:2023-01-08 14:01:04 所属栏目:系统 来源:网络
导读: 目录
成绩系统的总体设计
(1)成绩系统环境要求
1.搭建java开发环境并配置JDK、安装Intellij IDEA、Navicat、mysql等工具。
2.搭建本地服务器tomcat和web后台网站,用于连接网络和前后端数

目录

成绩系统的总体设计

(1)成绩系统环境要求

1.搭建java开发环境并配置JDK、安装Intellij IDEA、Navicat、mysql等工具。

2.搭建本地服务器tomcat和web后台网站,用于连接网络和前后端数据交互。

(2)成绩系统功能及模块图

学生成绩管理系统具体前端实现和功能为:

一、前端:1.HTML主页面:显示系统背景、显示系统增删改查的各个功能按键。2.登录页面:输入账号密码进入系统;同时也可注册账号。

二、后端:1.逻辑层:实体层、dao层、service层、用户类实现后端基本功能;web层中包含servlet技术,用于向前端发送请求;测试类通过引入junit.jar包进行单元测试。2.数据库:存储学生个人信息和成绩信息,管理员账号与密码。

3.severlet:接受前端传入数据,与数据库中数据作匹配服务器管理系统,实现前端功能。

成绩管理系统整体的功能结构图如图2-1所示:

在这里插入图片描述

图2-1 窗口化图形界面

学生成绩管理系统的详细设计

(1)成绩管理系统总体功能展示如图2-2所示:

在这里插入图片描述

图2-2 总体功能展示图

后端实现

我主要负责设计实体类、dao层、service层、测试类的实现以及数据库的创建和连接,代码如下:

(1)实体类

package indi.huishi.pojo;
public class Student {
	private String no;
	private String name;
	private Float score;
	private Integer className;
	public String getNo() {
		return no;
	}
	public void setNo(String no) {
		this.no = no;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Float getScore() {
		return score;
	}
	public void setScore(Float score) {
		this.score = score;
	}
	public Integer getClassName() {
		return className;
	}
	public void setClassName(Integer className) {
		this.className = className;
	}
	public Student(String no, String name, Float score, Integer className) {
		this.no = no;
		this.name = name;
		this.score = score;
		this.className = className;
	}
	public Student() {
	}
	@Override
	public String toString() {
		return "Student{" +
				"no='" + no + '\'' +
				", name='" + name + '\'' +
				", score=" + score +
				", className=" + className +
				'}';
	}
}
package indi.huishi.pojo;
public class User {
    private Integer id;
    private String username;
    private String password;
    private String email;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
    public User(Integer id, String username, String password, String email) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.email = email;
    }
    public User() {
    }
}

(2)Dao层

package indi.huishi.dao;
import indi.huishi.pojo.Student;
import java.util.List;
import java.util.Map;
/**
 * 学生成绩管理系统 数据访问层
 */
public interface StudentDao {
   
int addStu(Student student);
    int updateStu(Student student);
    int deleteStu(String no);
    Student queryByName(String name);
    Student queryByNo(String no);
    List<Student> sort();
    List<Map<String,Object>> statistics();
}
package indi.huishi.dao;
import indi.huishi.pojo.User;
/**
 * 用户注册+登录
 */
public interface UserDao {
    public User queryUserByUsername(String username);
    public User queryUserByUsernameAndPassword(String username, String password);
    public int saveUser(User user);
}

(3)Service层

package indi.huishi.service;
import indi.huishi.pojo.Student;
import java.util.List;
import java.util.Map;
public interface StudentService {
    public int add(Student student);
    public int update(Student student);
    public int delete(String no);
    public Student queryNo(String no);
    public Student queryName(String name);
    public List<Student> sort();
    public List<Map<String,Object>> statistics();
}
package indi.huishi.service;
import indi.huishi.pojo.User;
//业务
public interface UserService {
    /**
     * 注册用户
     *
     * @param user
     */
    public void registerUser(User user);
    /**
     * 登录
     * @param user
     * @return
     */
    public User login(User user);
    /**
     * 用户名是否已经存在
     * @param username
     * @return
     */
    public boolean existsUsername(String username);
}

(4)测试类

package indi.huishi.test;
import indi.huishi.utils.JdbcUtils;
import org.junit.Test;
import java.sql.Connection;
public class JdbcUtilsTest {
    @Test
    public void testJdbc() throws Exception {
        for(int i=0; i<20; i++){
            Connection connection = JdbcUtils.getConnection();
            System.out.println(connection);
            JdbcUtils.close(connection);
        }
        System.out.println("开始");
    }
}
package indi.huishi.test;
import indi.huishi.dao.StudentDao;
import indi.huishi.dao.impl.StudentDaoImpl;
import indi.huishi.pojo.Student;
import org.junit.Test;
import java.util.List;
import java.util.Map;
import static java.lang.System.out;
public class StudentDaoTest {
    StudentDao studentDao = new StudentDaoImpl();
    @Test
    public void test(){
        Student  student  =   new
Student("101","zxy",Float.parseFloat("88"),190611);
        int res = studentDao.addStu(student);
        out.println(res);
    }
    @Test
    public void testStatistics(){
        List<Map<String,Object>> statistics = studentDao.statistics();
        out.println(statistics);
    }
}
package indi.huishi.test;
import indi.huishi.dao.UserDao;
import indi.huishi.dao.impl.UserDaoImpl;
import indi.huishi.pojo.User;
import org.junit.Test;
public class UserDaoTest {
    UserDao userDao = new UserDaoImpl();
    @Test
    public void queryUserByUsername(){
        User user = userDao.queryUserByUsername("hyh");
        System.out.println(user.toString());
        if(user==null){
            System.out.println("用户名不存在");
        }else{
            System.out.println("用户名已经存在");
        }
    }
    @Test
    public void queryUserByUsernameAndPassword(){
        User user = userDao.queryUserByUsernameAndPassword("hyh","123");
        System.out.println(user.toString());
        if(user==null){
            System.out.println("用户名密码不正确");
        }else{
            System.out.println("查询成功");
        }
    }
    @Test
    public void saveUser(){
        //新建一个用户的信息,保存到数据库中
        User user = new User(4,"indi/huishi","1230","1230");
        int result = userDao.saveUser(user);
        System.out.println(result==1?"添加成功":"添加失败");
    }
}
package indi.huishi.test;
import indi.huishi.pojo.User;
import indi.huishi.service.UserService;
import indi.huishi.service.impl.UserServiceImpl;
import org.junit.Test;
public class UserServiceTest {
    UserService userService = new UserServiceImpl();
    @Test
    public void registerUser(){
//        userService.registerUser(new User(null,"lwt","123456","lwt123456@qq.com"));
        userService.registerUser(new User(2, "lwt","123456","1234"));
    }
    @Test
    public void login(){
        User user1 = userService.login(new User(2,"lwt","123456","1234"));
        System.out.println(user1.toString());
    }
}

部分效果图展示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

源码

链接:

提取码:hs85

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!