博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
入门级Java版学生管理系统
阅读量:3965 次
发布时间:2019-05-24

本文共 10305 字,大约阅读时间需要 34 分钟。

小白入门

简单的学生管理系统(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.Driverurl=jdbc:mysql://localhost:3306/testusername=rootpassword=*****

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

转载地址:http://cjyki.baihongyu.com/

你可能感兴趣的文章
zigbee学习笔记2----cc2530 IO实验
查看>>
zigbee学习笔记4----初次接触zstack
查看>>
Android 发布到google Play的app搜索不到问题的解决
查看>>
Flutter 网络请求之基于dio的简单封装
查看>>
Flutter UI基础 - 路由之Navigator详解
查看>>
Flutter UI基础 - Widgets 之 InkWell 和 Ink
查看>>
Spring - sentinel和hystrix比较
查看>>
MySQL - 索引之B+树
查看>>
Spring - Dubbo的底层实现原理和机制
查看>>
Flutter Dio引入和简单的Get/Post请求
查看>>
Flutter Dart 和 Flutter json转实体类(插件自动生成)
查看>>
Flutter 路由跳转fluro
查看>>
Flutter 日期插件date_format 中文 国际化 及flutter_cupertino_date_picker
查看>>
Flutter 插件笔记 | 屏幕适配 flutter_screenutil
查看>>
Flutter UI基础 - 侧拉抽屉菜单
查看>>
Flutter UI基础 - AppBar中标题文字如何居中
查看>>
Flutter UI基础 - Drawer 抽屉视图与自定义header
查看>>
Flutter UI基础 - 点击展开和关闭
查看>>
Flutter UI基础 - GridView
查看>>
Flutter UI - 打造一个圆形滑块(Slider)
查看>>