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

本文详细介绍了使用Java开发的学生管理系统,包括代码结构、各个包的职责,如entity包的实体类、repository包的数据库操作、service包的服务层、ui包的界面设计,以及utils包的工具类。同时展示了系统的登录、主界面和操作界面的效果图,并简单提及了数据库结构。尽管功能仍有待完善,但已实现了学生管理的部分。
摘要由CSDN通过智能技术生成

学生管理系统纯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;

		
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值