学生管理系统纯Java--管理界面

学生管理系统纯Java–管理界面

一、代码结构

entity包:包含了两个实体类,一个学生一个用户

repository包:包含对实体类至SQL中的操作

service包:用户操作实体类的桥梁

ui包:界面包

utils包:工具包用于连接数据库和制作界面表格的工具类

lib包:引入的jar包,连接数据库的工具包

在这里插入图片描述

二、各个包详解

2.1、entity包

StudentInfo.java省略get、set、toString方法

package com.sgu.entity;

public class StudentInfo {
   
    private Integer id;
    private String number;
    private String name;
    private String address;
}

User.java省略get、set、toString方法

public class User {
   
    private Integer id;
    private String username;
    private String password;
    }
2.2、repository包

StudentRepository.java

package com.sgu.repository;

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

import com.sgu.entity.StudentInfo;
import com.sgu.utils.DBUtil;

public class StudentRepository {
   
/**
 * 
 * @Title: selectUser
 * @Description: 执行select查询操作
 * @param sql select语句
 * @param args SQL语句中的参数
 * @return
 * @return List<User>
 */
public static List<StudentInfo> selectStudentInfo(String sql, Object[] args) {
   
	List<StudentInfo> studentInfos = new ArrayList<StudentInfo>();

	// 1.连接数据库
	Connection connection = DBUtil.getConnection();
	// 2.执行SQL命令
	PreparedStatement pStatement = null;
	ResultSet resultSet = null;

	try {
   
		pStatement = connection.prepareStatement(sql);

		for (int i = 0; i < args.length; i++) {
   
			pStatement.setObject((i + 1), args[i]);
		}

		resultSet = pStatement.executeQuery();
		while (resultSet.next()) {
   
			StudentInfo studentInfo = new StudentInfo();
			studentInfo.setId(resultSet.getInt(1));

			studentInfo.setNumber(resultSet.getString(2));
			studentInfo.setName(resultSet.getString(3));
			studentInfo.setAddress(resultSet.getString(4));
			studentInfos.add(studentInfo);
		}
	} catch (SQLException e) {
   
		// TODO Auto-generated catch block
		e.printStackTrace();
	} finally {
   
		DBUtil.close(connection, pStatement, resultSet);

	}
	return studentInfos;

}

/**
 * 
 * @Title: updateStudent
 * @Description: 执行Insert update delete 语句
 * @param sql Insert update delete 语句
 * @param args Insert update delete 语句参数
 * @return
 * @return 受影响的行数
 */
public static int updateStudent(String sql, Object[] args) {
   
	int n = 0;
	Connection connection = DBUtil.getConnection();
	PreparedStatement pStatement = null;

	try {
   
		pStatement = connection.prepareStatement(sql);

		for (int i = 0; i < args.length; i++) {
   
			pStatement.setObject((i + 1), args[i]);
		}
		n = pStatement.executeUpdate();
	} catch (SQLException e) {
   
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	return n;

	}
}

UserRepository.java

package com.sgu.repository;

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

import com.sgu.entity.User;
import com.sgu.utils.DBUtil;

public class UserRepository {
   

	/**
	 * 
	 * @Title: selectUser
	 * @Description: 执行select查询操作
	 * @param sql select语句
	 * @param args SQL语句中的参数
	 * @return
	 * @return List<User>
	 */
	public static List<User> selectUser(String sql, Object[] args) {
   
		List<User> users = new ArrayList<User>();
		// 1.连接数据库
		Connection connection = DBUtil.getConnection();
		// 2.执行SQL命令
		PreparedStatement pStatement = null;
		ResultSet resultSet = null;

		try {
   
			pStatement = connection.prepareStatement(sql);

			for (int i = 0; i < args.length; i++) {
   
				pStatement.setObject((i + 1), args[i]);
			}

			resultSet = pStatement.executeQuery();
			while (resultSet.next()) {
   
				User user = new User();
				user.setId(resultSet.getInt("id"));
				user.setUsername(resultSet.getString("username"));
				user.setPassword(resultSet.getString("password"));

				users.add(user);
			}
		} catch (SQLException e) {
   
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
   
			DBUtil.close(connection, pStatement, resultSet);

		}
		return users;

	}

	/**
	 * 
	 * @Title: updateUser
	 * @Description: 执行Insert update delete 语句
	 * @param sql Insert update delete 语句
	 * @param args Insert update delete 语句参数
	 * @return
	 * @return 受影响的行数
	 */
	public static int updateUser(String sql, Object[] args) {
   
		int n = 0;
		Connection connection = DBUtil.getConnection();
		PreparedStatement pStatement = null;

		
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库:MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值