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

Java开发一个学生成绩管理系统

发布时间:2023-02-18 13:59:36 所属栏目:系统 来源:
导读:  目录

  成绩系统的总体设计

  (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:接受前端传入数据,与数据库中数据作匹配服务器管理系统,实现前端功能。
 
  (1)成绩管理系统总体功能展示

  后端实现
 
  我主要负责设计实体类、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());
      }
  }
 

(编辑:应用网_扬州站长网)

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