本文共 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/