栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

目录
  • 成绩系统的总体设计
    • 学生成绩管理系统的详细设计
    • 后端实现
    • 部分效果图展示
    • 源码

成绩系统的总体设计

(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 sort();

    List> 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 sort();

    public List> statistics();

}


package indi.huishi.service;

import indi.huishi.pojo.User;
//业务
public interface UserService {

    
    public void registerUser(User user);

    
    public User login(User user);

    
    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> 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());
    }

}
部分效果图展示



源码

链接:https://pan.baidu.com/s/138SIml8vSOxCmAU-bFmK4A
提取码:hs85

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/946165.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号