小白入门
简单的学生管理系统(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=*****
这是我第一个小小的管理系统 当然还不完善 后期再来更新!!!