Java使用JDBC连接数据库MySQL实现的简易学生管理系统

本文介绍了如何使用Java通过JDBC连接MySQL数据库,构建一个简易的学生管理系统。系统包含身份验证和不同权限的角色(学生、管理员、超级用户)管理,详细阐述了用户界面、数据库操作以及各个角色的功能实现。
摘要由CSDN通过智能技术生成

初始选择身份界面

import java.util.Scanner;

public class InitialUI {
   
	
	public static User UI() {
   
		
		System.out.println();
		System.out.println();
		System.out.println();
		System.out.println("\t\t\t---选择身份界面---\n");
		System.out.println("\t\t\t    1.学生");
		System.out.println("\t\t\t    2.管理员");
		System.out.println("\t\t\t    3.超级用户");
		System.out.println("\t\t\t    0.退出");
		System.out.println(">>> 0级菜单");
		System.out.println("请选择你的身份:");		
		Scanner s = new Scanner(System.in);
		int num = s.nextInt();
		switch(num) {
   
		case 1:
			return new Student();
		case 2:
			return new Manager();
		case 3:
			return new SuperUser();
		case 0:
			System.out.println("感谢使用本系统!");
			return null;
		}
	
		return null;
	}
}

定义了学生、管理员、超级用户共有属性的父类

public class Person {
   
	private String id;
	private String name;
	private int age;
	private String sex;
	private String nation;
	private String phone;
	private String idNum;
	
	//构造器
	public Person() {
   
		super();
	}

	public Person(String id, String name, int age, String sex, String nation, String phone, String idNum) {
   
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.nation = nation;
		this.phone = phone;
		this.idNum = idNum;
	}

	//set and get
	public String getId() {
   
		return id;
	}

	public void setId(String id) {
   
		this.id = id;
	}

	public String getName() {
   
		return name;
	}

	public void setName(String name) {
   
		this.name = name;
	}

	public int getAge() {
   
		return age;
	}

	public void setAge(int age) {
   
		this.age = age;
	}

	public String getSex() {
   
		return sex;
	}

	public void setSex(String sex) {
   
		this.sex = sex;
	}

	public String getNation() {
   
		return nation;
	}

	public void setNation(String nation) {
   
		this.nation = nation;
	}

	public String getPhone() {
   
		return phone;
	}

	public void setPhone(String phone) {
   
		this.phone = phone;
	}

	public String getIdNum() {
   
		return idNum;
	}

	public void setIdNum(String idNum) {
   
		this.idNum = idNum;
	}

}

学生、管理员、超级用户都实现了的接口,包含界面和登陆验证的抽象方法

public interface User {
   
	boolean login();
	void UI();
}

验证学生身份后进入学生界面

import java.util.Scanner;
import java.util.Vector;

public class Student extends Person implements User{
   
	private String birPlace;
	private String address;
	String type = "1";
	
	//构造器
	public Student() {
   
		super();
	}

	public Student(String id, String name, int age, String sex, String nation, String phone, String idNum, String birPlace, String address) {
   
		super(id, name, age, sex, nation, phone, idNum);
		this.birPlace = birPlace;
		this.address = address;
	}
	
	//set and get
	public String getBirPlace() {
   
		return birPlace;
	}

	public void setBirPlace(String birPlace) {
   
		this.birPlace = birPlace;
	}

	public String getAddress() {
   
		return address;
	}

	public void setAddress(String address) {
   
		this.address = address;
	}

	//重写自定义方法
	@Override
	public boolean login() {
   
		final int count = 1;
		Scanner s = new Scanner(System.in);
		
		System.out.println("请输入学号:");
		String userID = new String();
		userID = s.nextLine();
		Vector v = new Vector(3);
				
		for(int i = 3; i >= count; i--) {
   
			String pw = new String();
			System.out.println("请输入密码:");
			pw = s.nextLine();
			
			try {
   
				v = DataBaseOperation.login(userID);
				if(v == null) {
   
					return false;
				}else {
   
					if(!((pw.equals(v.get(1)) && type.equals(v.get(2)))) && (i < count)) {
   
						return false;
					}else if(pw.equals(v.get(1)) && type.equals(v.get(2))){
   
						return true;
					}else {
   
						System.out.println("密码错误");
						System.out.println("你还有" + (i - 1) + "次机会!");
					}
				}
			}catch(Exception e) {
   
				e.printStackTrace();
			}	
		}
		
		return false;
	}

	@Override
	public void UI() {
   
		boolean isExit = true;
		
		while(isExit) {
   
			System.out.println();
			System.out.println();
			System.out.println();
			System.out.println("\t\t\t欢迎进入学生信息管理系统!\n");
			System.out.println("\t\t\t    1.查询学生记录");
			System.out.println("\t\t\t    2.学生情况分类统计");
			System.out.println("\t\t\t    3.密码修改");
			System.out.println("\t\t\t    0.退出");
			System.out.println(">>> 1级菜单");
			
			Scanner s = new Scanner(System.in);
			int num = s.nextInt();
			
			switch(num) {
   
			case 1:
				StudentMethod.nextStuUI1();
				break;
			case 2:
				StudentMethod.nextStuUI2();
				break;
			case 3:
				StudentMethod.changePw();
				break;
			case 0:
				System.out.println("感谢使用本系统!");
				isExit = false;
			}
		}
	}

	public String toString() {
   
		return getId() + "\t" + getName() + "\t" + getAge() + "\t" + getSex() + "\t" + getNation() + "\t" + getPhone() + "\t" + getIdNum() + "\t" + getBirPlace() + "\t" + getAddress();
	}
}

验证管理员身份成功后进入管理员界面

import java.util.Scanner;
import java.util.Vector;

public class Manager extends Person implements User{
   
	private String level;
	String type = "2";
	
	//构造器
	public Manager() {
   
		super();
	}

	public Manager(String id, String name, int age, String sex, String nation, String phone, String idNum, String level) {
   
		super(id, name, age, sex, nation, phone, idNum);
		this.level = level;
	}
	
	//set and get
	public String getLevel() {
   
		return level;
	}

	public void setLevel(String level) {
   
		this.level = level;
	}

	//重写自定义方法
	@Override
	public boolean login() {
   
		final int count = 1;
		Scanner s = new Scanner(System.in);
		
		System.out.println("请输入工号:");
		String userID = new String();
		userID = s.nextLine();
		Vector v = new Vector(3);
		
		for(int i = 3; i >= count; i--) {
   
			String pw = new String();
			System.out.println("请输入密码:");
			pw = s.nextLine();
			
			try {
   
				v = DataBaseOperation.login(userID);
				if(v == null) {
   
					return false;
				}else {
   
					if(!((pw.equals(v.get(1)) && type.equals(v.get(2)))) && (i < count)) {
   
						return false;
					}else if(pw.equals(v.get(1)) && type.equals(v.get(2))){
   
						return true;
					}else {
   
						System.out.println("密码错误");
						System.out.println("你还有" + (i - 1) + "次机会!");
					}
				}
			}catch(Exception e) {
   
				e.printStackTrace();
			}	
		}
		
		return false;
	}

	@Override
	public void UI() {
   
		boolean isExit = true;
		while(isExit) {
   
			System.out.println();
			System.out.println();
			System.out.println();
			System.out.println("\t\t\t欢迎进入学生信息管理系统!\n");
			System.out.println("\t\t\t    1.查询学生记录");
			System.out.println("\t\t\t    2.学生情况分类统计");
			System.out.println("\t\t\t    3.密码修改");
			System.out.println("\t\t\t    4.查询管理员记录");
			System.out.println("\t\t\t    5.管理员情况分类统计");
			System.out.println("\t\t\t    6.添加新学生");
			System.out.println("\t\t\t    7.删除学生");
			System.out.println("\t\t\t    8.修改学生");
			System.out.println("\t\t\t    0.退出");
			System.out.println(">>> 1级菜单");
			
			Scanner s = new Scanner(System.in);
			int num = s.nextInt();
			
			switch(num) {
   
			case 1:
				ManagerMethod.nextMngUI1(num);
				break;
			case 2:
				ManagerMethod.nextMngUI2(num);
				break;
			case 3:
				ManagerMethod.changePw();
				break;
			case 4:
				ManagerMethod.nextMngUI1(num);
				break;
			case 5:
				ManagerMethod.nextMngUI2(num);
				break;
			case 6:
				ManagerMethod.addInfo();
				break;
			case 7:
				ManagerMethod.deleteInfo();
				break;
			case 8:
				ManagerMethod.updateInfo();
				break;
			case 0:
				System.out.println("感谢使用本系统!");
				isExit = false;
			}
		}
	}
	
	public String toString() {
   
		return getId() + "\t" + getName() + "\t" + getAge() + "\t" + getSex() + "\t" + getNation() + "\t" + getPhone() + "\t" + getIdNum() + "\t" + getLevel();
		
	}

}

验证超级用户身份成功后进入管理员界面

import java.util.Scanner;
import java.util.Vector;

public class SuperUser extends Manager implements User{
   
	String type = "3";
	
		//构造器
		public SuperUser() {
   
			super();
		}

		public SuperUser(String id, String name, int age, String sex, String nation, String phone, String idNum, String level) {
   
			super(id, name, age, sex, nation, phone, idNum, level);
		}
		
		//重写自定义方法
		@Override
		public boolean login() {
   
			final int count = 1;
			Scanner s = new Scanner(System.in);
			
			System.out.println("请输入账号:");
			String userID = new String();
			userID = s.nextLine();
			Vector v = new Vector(3);
			
			for(int i = 3; i >= count; i--) {
   
				String pw = new String();
				System.out.println("请输入密码:");
				pw = s.nextLine();
				
				try {
   
					v = DataBaseOperation.login(userID);
					if(v == null) {
   
						return false;
					}else {
   
						if(!((pw.equals(v.get(1)) && type.equals(v.get(2)))) && (i < count)) {
   
							return false;
						}else if(pw.equals(v.get(1)) && type.equals(v.get(2))){
   
							return true;
						}else {
   
							System.out.println("密码错误");
							System.out.println("你还有" + (i - 1) + "次机会!");
						}
					}
				}catch(Exception e) {
   
					e.printStackTrace();
				}	
			}
			
			return false;
		}

		@Override
		public void UI() {
   
			boolean isExit = true;
			
			while
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值