入门级Java版学生管理系统

小白入门

简单的学生管理系统(java版)

基本架构

1.bean包——user类

package com.bean;

public class User {
		private int id;
		private String uname;
		private String upass;
		private int type;
		
		public User() {
			
		}
		
		public User(String uname, String upass) {
			super();
			this.uname = uname;
			this.upass = upass;
		}

		public User(int id, String uname, String upass) {
			super();
			this.id = id;
			this.uname = uname;
			this.upass = upass;
		}

		public User(int id, String uname, String upass, int type) {
			super();
			this.id = id;
			this.uname = uname;
			this.upass = upass;
			this.type = type;
		}

		public int getId() {
			return id;
		}
		public void setId(int id) {
			this.id = id;
		}
		public String getUname() {
			return uname;
		}
		public void setUname(String uname) {
			this.uname = uname;
		}
		public String getUpass() {
			return upass;
		}
		public void setUpass(String upass) {
			this.upass = upass;
		}
		public int getType() {
			return type;
		}
		public void setType(int type) {
			this.type = type;
		}
		
		@Override
		public String toString() {
			return "User [id=" + id + ", uname=" + uname + ", upass=" + upass + ", type=" + type + "]";
		}
		
		
}

2.JDBCUtils类

package com.JDBCUtilss;

import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Properties;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class JDBCUtils {
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	//加载驱动
	static {
	 	InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
		Properties p = new Properties();
		try {
			p.load(is);
			driver = p.getProperty("driver");
			url = p.getProperty("url");
			username = p.getProperty("username");
			password = p.getProperty("password");
			Class.forName(driver);
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	//链接方法
	public static Connection getConnection() {
		try {
			return (Connection) DriverManager.getConnection(url, username, password);
		}catch(Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	//关闭资源
	public static void close(Connection conn, java.sql.Statement stat, ResultSet rs) {
		try {
			if (rs!=null) {
				rs.close();
				rs = null;
			}
			if (stat!=null) {
				stat.close();
				stat = null;
			}
			if (conn!=null) {
				conn.close();
				conn = null;
			}
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
}

3.Dao层——接口

package com.Dao;

import com.bean.User;

public interface UserDao {
	int login(User user);
	
	boolean insert(User user);
	
	boolean delete(String uname);
	
	boolean update(User user);
	
	User select(String uname);
}

4.Dao层接口实现类(UserDao_Implements)

package com.Dao;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.JDBCUtilss.JDBCUtils;
import com.bean.User;
import com.mysql.jdbc.Connection;

public class UserDao_Imp implements UserDao { 
		static PreparedStatement ps = null;
		static ResultSet rs = null;
		private static final String SQL_USER_Login = "select type from user WHERE uname = ? AND upass = ?";
		private static final String SQL_USER_insert = "insert into user values(id,?,?,2)";
		private static final String SQL_USER_delete = "delete from user WHERE uname = ?";
		private static final String SQL_USER_update = "update user SET upass = ? WHERE uname = ?";
		private static final String SQL_USER_select = "select * from user WHERE uname = ?";
	@Override
	public int login(User user) {
		Connection conn = JDBCUtils.getConnection();
		
		try {
			ps = conn.prepareStatement(SQL_USER_Login);
			ps.setString(1, user.getUname());
			ps.setString(2, user.getUpass());
			rs = ps.executeQuery();
			while(rs.next()) {
				int type = rs.getInt("type");
				return type;
			}
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			JDBCUtils.close(conn, ps, rs);
		}
		
		return -1;
	}

	@Override
	public boolean insert(User user) {
		Connection conn = JDBCUtils.getConnection();
		try {
			ps = conn.prepareStatement(SQL_USER_insert);
			ps.setString(1, user.getUname());
			ps.setString(2, user.getUpass());
		    int line = ps.executeUpdate();
		    return line > 0 ? true : false;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean delete(String uname) {
		Connection conn = JDBCUtils.getConnection();
		try {
			ps = conn.prepareStatement(SQL_USER_delete);
			ps.setString(1, uname);
		    int line = ps.executeUpdate();
		    return line > 0 ? true : false;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public boolean update(User user) {
		Connection conn = JDBCUtils.getConnection();
		try {
			ps = conn.prepareStatement(SQL_USER_update);
			ps.setString(1, user.getUpass());
			ps.setString(2, user.getUname());
		    int line = ps.executeUpdate();
		    return line > 0 ? true : false;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}

	@Override
	public User select(String uname) {
		Connection conn = JDBCUtils.getConnection();
		try {
			ps = conn.prepareStatement(SQL_USER_select);
			ps.setString(1, uname);
		    rs = ps.executeQuery();
		    while(rs.next()) {
		    	int id = rs.getInt("id");
		    	uname = rs.getString("uname");
		    	String upass = rs.getString("upass");
		    	int type = rs.getInt("type");
		    	return new User(id,uname,upass,type);
		    }
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

}

5.视图层(View类)

package com.view;

import java.util.Scanner;

import com.bean.User;

public class view {
	private static Scanner input = new Scanner(System.in);
	public static User indexView() {
		System.out.println("**************************************");
		System.out.println("********\t\t学生管理系统\t\t***********");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t\t请输入账号: \t\t***********");
		String uname = input.nextLine();
		System.out.println("********\t\t请输入密码: \t\t************");
		String upass = input.nextLine();
		System.out.println("**************************************");
		
		return new User(uname, upass);
	}
	
	public static int manageMenuView() {
		System.out.println("**************************************");
		System.out.println("********\t\t管理员菜单\t\t***********");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t0.退出\t***********");
		System.out.println("********\t1.添加学生信息\t************");
		System.out.println("********\t2.删除学生信息\t************");
		System.out.println("********\t3.修改学生信息\t************");
		System.out.println("********\t4.查询学生信息\t************");
		
		String type = input.nextLine();
		int item = Integer.parseInt(type);
		if (item < 0 || item > 4) {
			System.out.println("Error!!!");
			return manageMenuView();
		}
		
		System.out.println("**************************************");
		
		return item;
		
	}
	//添加学生信息
	public static User addMenuView() {
		System.out.println("**************************************");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t\t请输入新账号: \t\t***********");
		String uname = input.nextLine();
		System.out.println("********\t\t请输入密码: \t\t************");
		String upass = input.nextLine();
		System.out.println("**************************************");
		return new User(uname,upass);
	}
	//删除学生信息
	public static String deleteMenuView() {
		System.out.println("**************************************");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t\t请输入账号: \t\t***********");
		String uname = input.nextLine();
		System.out.println("**************************************");
		return uname;
	}
	//查询学生信息
	public static String selectMenuView() {
		System.out.println("**************************************");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t\t请输入查找的账号: \t\t***********");
		String uname = input.nextLine();
		System.out.println("**************************************");
		return uname;

	}
	//修改学生信息
	public static User updateMenuView() {
		System.out.println("**************************************");
		System.out.println("********\t\t请根据提示操作\t\t**********");
		System.out.println("********\t\t请输入账号: \t\t***********");
		String uname = input.nextLine();
		System.out.println("********\t\t请输入密码: \t\t************");
		String upass = input.nextLine();
		System.out.println("**************************************");
		return new User(uname,upass);
	}
	public static void printUser(User user) {
		System.out.println("用户ID :" + user.getId());
		System.out.println("用户名 :" + user.getUname());
		System.out.println("用户密码 :" + user.getUpass());
		if(user.getType() == 1) {
			System.out.println("该用户为管理员权限");
		}else if(user.getType()  == 2){
			System.out.println("该用户为学生权限");
		}
		
		
	}
	
	
	
}

6.Control层

package com.controller;

import com.Dao.UserDao_Imp;
import com.bean.User;
import com.view.view;

public class Control {

	public static void main(String[] args) {
		
		while (true) {
			
			User user = view.indexView();
			UserDao_Imp userDao_Imp = new UserDao_Imp();
			int type = userDao_Imp.login(user);
			
			switch(type) {
			case -1 : 
				System.out.println("error");
				break;
			case 1 : 
				System.out.println("管理员");
				manageServer();
				break;
			case 2 :
				System.out.println("学生");
				studentServer();
				break;
			default : 
				break;
			}	
		}
	}
	
	private static void studentServer() {
		UserDao_Imp userDao_Imp = new UserDao_Imp();
		
	}
	
	private static void manageServer() {
		UserDao_Imp userDao_Imp = new UserDao_Imp();
		while (true) {
			boolean falg;
			int item = view.manageMenuView();
			switch(item) {
			case 0:
				System.exit(-1);
				break;
			case 1:
				User addUser = view.addMenuView();
				falg = userDao_Imp.insert(addUser);
				System.out.println(falg?"add success":"add fail");
				break;
			case 2:
				String deleteUname = view.deleteMenuView();
				falg = userDao_Imp.delete(deleteUname);
				System.out.println(falg?"delete success":"delete fail");
				break;
			case 3:
				 User updateUser = view.updateMenuView();
				 falg = userDao_Imp.update(updateUser);
				 System.out.println(falg?"update success":"update fail");
				break;
			case 4:
				String selectUname = view.selectMenuView();
				User user = userDao_Imp.select(selectUname);
				view.printUser(user);
				break;
			}
		}
	}

}

当然还需要

最后是配置文件(Properties)

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=*****

这是我第一个小小的管理系统 当然还不完善 后期再来更新!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值