Eclipse java连接mysql实现教务管理系统的学习笔记

  • Post author:
  • Post category:java




程序框架源于老师




1、java书写规范



右键文件Source -> Format 可自动调节

在这里插入图片描述

java的方法注释



2、Eclipse 中连接 mysql 数据库

在这里插入图片描述

在这里插入图片描述

新建 libs 文件,导入mysql-connector-java-8.0.23.jar(官网可免费下载),右键选择Build Path ->Add to Build Path,系统自动生成Referenced Libraries文件

在这里插入图片描述

在 module-info.java 中加上 require java.sql;

其中 cn.net.nit.ems 是包名


测试mysql是否连接成功

package cn.net.nit.ems;
import java.sql.*;

/**
 * 测试数据库JDBC操作
 * @author Administrator
 */
public class MySQLDemo {

	public static void main(String[] args) throws Exception {
		// 指定访问数据库的驱动程序的名称
		String driver = "com.mysql.jdbc.Driver";
		// 需要访问的数据库URL
		String url = "jdbc:mysql://localhost:3306/course";
		// 数据库访问的用户名
		String db_user = "root";
		// 数据库访问的密码
		String db_pwd = "root";

		// 要执行的查询SQL语句
		String querySql = "SELECT * FROM UserInfo";
		// 要执行的更新SQL语句
		String updateSql = "UPDATE UserInfo SET Cell='88229530' WHERE ID=?";
		
		// 声明一个Connection对象,用于和数据库建立连接
		Connection conn = null;
		// 声明一个Statement对象,用于对数据库执行SQL语句
		Statement stmt = null;
		// 预处理语句
		PreparedStatement ps = null;
		try {
			// 装载驱动程序
			Class.forName(driver);
			// 获取和数据库的连接
			conn = DriverManager.getConnection(url, db_user, db_pwd);
			// 禁止自动递交,设置回滚点
			conn.setAutoCommit(false);
			// 创建一个Statement对象,用于对数据库执行SQL语句
			stmt = conn.createStatement();
			// 执行查询操作,得到的结果存放在ResultSet对象
			ResultSet rs = stmt.executeQuery(querySql);
			// 打印出查询到的所有数据
			System.out.println("ID\tLoginName\tUserName\tUserPwd");
			System.out.println("-------------------------------------------------");
			while (rs.next()) {
				int id = rs.getInt("ID");
				String loginName = rs.getString("LoginName");
				String userName = rs.getString("UserName");
				String passWord = rs.getString("UserPwd");
				System.out.println(id+"\t"+loginName+"\t\t"+userName+"\t\t"+passWord);
			}
			
			// 预编译SQL语句
			ps = conn.prepareStatement(updateSql);
			// 设置参数
			ps.setInt(1,6);
			// 更新数据库的记录,返回更新的记录数
			int count = ps.executeUpdate();
			System.out.println("更新记录:"+count+"条");
			// 事务递交
			conn.commit();
		} catch (Exception e) {
			System.out.println("Error:"+e);
			try { // 操作不成功则回滚
				conn.rollback();
			} catch (Exception ee) {}
		} finally {
			try {
				if (conn!=null) conn.close();
				if (stmt!=null) stmt.close();
			} catch (SQLException e) {}
		}
	}
}



3、项目源代码

数据库名:course

用户表:UserInfo

在这里插入图片描述

角色表:RoleMember

在这里插入图片描述



总览


运行在 EMSApp.java 文件


在这里插入图片描述



DBHelper.java

package cn.net.nit.ems;

import java.sql.*;
public class DBHelper {
	private static String driver = "com.mysql.cj.jdbc.Driver";
	private static String url = "jdbc:mysql://localhost:3306/course";
	private static String user = "root";
	private static String pwd = "root";
	
	public static Connection getConnection() {
		Connection conn = null;
		try {
			Class.forName(driver);
			conn = DriverManager.getConnection(url, user, pwd);
			conn.setAutoCommit(false);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	
    public static void close(Connection conn) {
    	if (conn != null) {
    		try {
    			conn.close();
    		} catch (SQLException e) {}
    		conn = null;
    	}
    }
    
    public static void close(Statement stmt, ResultSet rs) {
    	if (stmt != null) {
    		try {
    			stmt.close();
    		} catch (SQLException e) {}
    	}
    	if (rs != null) {
    		try {
    			rs.close();
    		} catch (SQLException e) {}
    	}
    }
}



EMSApp.java

package cn.net.nit.ems;

import java.util.Scanner;
import java.util.UUID;

/**
 * 教学管理系统主类
 * 
 * @author
 *
 */
public class EMSApp {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);

		System.out.println("*******************************************");
		System.out.println("***                                     ***");
		System.out.println("***          教务管理系统   v0.1         ***");
		System.out.println("***                                     ***");
		System.out.println("*******************************************");

		String loginName, password;

		System.out.println("[1] 登入");
		System.out.println("[2] 注册");

		int choice;
		choice = scanner.nextInt();

		System.out.println("用户名:");
		loginName = scanner.next();
		System.out.println("密码:");
		password = scanner.next();

		UserDAO dao = new UserDAO();
		User user = dao.findUser(loginName, password);

		if (choice == 2) {// 新用户注册账号,同时检测用户名是否重复
			while (dao.isLoginNameDuplicate("LoginName", loginName)) {
				System.out.println("该用户已存在!请重新输入!");

				System.out.println("用户名:");
				loginName = scanner.next();
				System.out.println("密码:");
				password = scanner.next();
			}

			User temUser = userInput(loginName, password);

			if (dao.insert(temUser, temUser.getRole())) {
				System.out.println("创建成功!请继续您的操作!");
				user = temUser;
			}

		}

		if (user != null && !user.getRole().equals("10")) { // 登录成功,学生没有操作权限
			User studentUser;// 用来存放用于操作的学生用户信息

			while (true) {
				showMainMenu();
				choice = scanner.nextInt();
				switch (choice) {
				// 增加学生信息
				case 11:
					System.out.println("增加学生信息");
					System.out.println("提醒:生成的学生账户和密码默认为学号!");
					User temUser = userInput(null, null);// 用于存放临时用户信息

					while (temUser == null) {
						System.out.println("该学号已存在!请重新输入!");
						temUser = userInput(null, null);
					}

					if (dao.insert(temUser, temUser.getRole())) {
						System.out.println("创建成功!请继续您的操作!\n");
						studentUser = temUser;
					}
					break;

				// 更改学生信息
				case 12:
					scanner.nextLine();// 消除一下回车
					System.out.println("更改学生信息");
					System.out.println("请输入要更改的学生学号:");
					String temCode = scanner.nextLine();

					while (dao.findUser(temCode) == null) {
						System.out.println("学号错误!请重新输入更改学生学号:");
						temCode = scanner.nextLine();
					}

					studentUser = dao.findUser(temCode);

					while (true) {
						showChangeStuMenu();
						int options = scanner.nextInt();

						String temChangedColumn = null, temChangedValue = null;

						switch (options) {
						case 1:
							temChangedColumn = "LoginName";
							break;
						case 2:
							temChangedColumn = "UserPwd";
							break;
						case 3:
							temChangedColumn = "UserName";
							break;
						case 4:
							temChangedColumn = "Sex";
							break;
						case 5:
							temChangedColumn = "UserCode";
							break;
						case 6:
							temChangedColumn = "DeptID";
							break;
						case 7:
							temChangedColumn = "Cell";
							break;
						case 8:
							temChangedColumn = "Email";
							break;
						}

						if (options == 0) {
							System.out.println("已返回菜单!");
							break;
						}
							

						scanner.nextLine();// 消除一下回车
						System.out.println("请输入新的值:");
						temChangedValue = scanner.nextLine();

						String temColumn = null;

						if (options == 1) {
							temColumn = "LoginName";
						} else if (options == 5) {
							temColumn = "UserCode";
						}

						while (dao.isLoginNameDuplicate(temColumn, temChangedValue)) {
							System.out.println("该账号或学号已存在!请重新输入!");
							System.out.println("请输入新的值:");
							temChangedValue = scanner.nextLine();
						}

						if (dao.changeStuents(studentUser, temChangedColumn, temChangedValue)) {
							System.out.println("修改成功!请继续您的操作!\n");
							studentUser = dao.findUser(temCode);
						}
					}
					break;

				// 删除学生信息
				case 13:
					scanner.nextLine();// 消除一下回车
					System.out.println("删除学生信息");
					System.out.println("请输入要删除的学生学号:");
					temCode = scanner.nextLine();

					while (dao.findUser(temCode) == null) {
						System.out.println("学号错误!请重新输入要删除的学生学号:");
						temCode = scanner.nextLine();
					}

					studentUser = dao.findUser(temCode);

					if (dao.deleteStuents(studentUser)) {
						System.out.println("删除成功!请继续您的操作!\n");
					}
					break;

				// 列出学生信息
				case 14:
					System.out.println("列出学生信息");

					if (dao.showStuents()) {
						System.out.println("展示成功!请继续您的操作!\n");
					}
					break;

				// 离开系统
				case 0:
					System.out.println("Bye!");
					break;
				}

				System.out.println("\n");
				if (choice == 0)
					break;
			}
		} else if (user.getRole().equals("10")) {
			System.out.println("抱歉,学生无权限操作!");
		} else {
			Util.Log("用户名或密码有误!");
		}

		// Do some cleaning work
		if (choice == 0) {
			scanner.close();
		}

	}

	/**
	 * 显示主界面菜单
	 */
	private static void showMainMenu() {
		System.out.println("[1] 学籍管理");
		System.out.println("     [11] 增加学生信息");
		System.out.println("     [12] 更改学生信息");
		System.out.println("     [13] 删除学生信息");
		System.out.println("     [14] 列出学生信息");
		System.out.println("[2] 成绩管理");
		System.out.println("     [21] 增加课程信息");
		System.out.println("     [22] 更改课程信息");
		System.out.println("     [23] 删除课程信息");
		System.out.println("     [24] 列出课程信息");
		// System.out.println(" [25] 输入学生成绩");
		System.out.println("[0] 退出系统");

	}

	private static User userInput(String loginName, String password) {
		String temName, temCode, temSex, temDept, temCell, temRole, temEmail;// 临时储存变量
		Scanner scanner = new Scanner(System.in);
		UserDAO dao = new UserDAO();
		User temUser = new User(loginName, password);

		// ---------学号或工号,账号和密码----------------------------//
		System.out.println("请输入学号或工号:");
		temCode = scanner.next();

		while (dao.isLoginNameDuplicate("UserCode", temCode)) {
			System.out.println("该学号已存在!请重新输入!");
			System.out.println("请输入学号或工号:");
			temCode = scanner.next();
		}

		temUser.setUserCode(temCode);

		if (loginName == null) {
			temUser = new User(temCode, temCode);// 如果账号密码无效就自动用“学号或工号”代替
			temUser.setUserCode(temCode);
		}

		// ---------姓名----------------------------//
		System.out.println("请输入姓名:");
		temName = scanner.next();
		temUser.setUserName(temName);

		// ---------性别----------------------------//
		System.out.println("请输入性别:(男为0,女为1)");
		temSex = scanner.next();

		while (!temSex.equals("0") && !temSex.equals("1")) {
			System.out.println("输入不合法!请重新输入!");
			System.out.println("请输入性别:(男为0,女为1)");
			temSex = scanner.next();
		}

		temUser.setSex(temSex);

		// ---------班级或部门编号----------------------------//
		System.out.println("请输入班级或部门编号:");
		temDept = scanner.next();
		temUser.setDeptId(temDept);

		// ---------手机号码----------------------------//
		System.out.println("请输入手机号码:");
		temCell = scanner.next();
		temUser.setCell(temCell);

		// ---------电子邮箱----------------------------//
		System.out.println("请输入电子邮箱:");
		temEmail = scanner.next();
		temUser.setEmail(temEmail);

		// ---------职位角色----------------------------//
		System.out.println("请输入职位角色(学生为10,教师为20,管理员为30):");
		temRole = scanner.next();

		while (!temRole.equals("10") && !temRole.equals("20") && !temRole.equals("30")) {
			System.out.println("输入不合法!请重新输入!");
			System.out.println("请输入职位(学生为10,教师为20,管理员为30):");
			temRole = scanner.next();
		}

		temUser.setRole(temRole);

		// ---------用户ID----------------------------//
		UUID uuid = UUID.randomUUID();
		temUser.setUserId(uuid.toString());// 分配唯一用户ID

		return temUser;
	}

	private static void showChangeStuMenu() {
		System.out.println("[1] 用户名");
		System.out.println("[2] 密码");
		System.out.println("[3] 姓名");
		System.out.println("[4] 性别");
		System.out.println("[5] 学号");
		System.out.println("[6] 班级");
		System.out.println("[7] 电话");
		System.out.println("[8] 电子邮箱");
		System.out.println("[0] 退出系统");

	}
}



MySQLDemo.java

用于测试 mysql 是否连接成功

package cn.net.nit.ems;
import java.sql.*;

/**
 * 测试数据库JDBC操作
 * @author Administrator
 */
public class MySQLDemo {

	public static void main(String[] args) throws Exception {
		// 指定访问数据库的驱动程序的名称
		String driver = "com.mysql.jdbc.Driver";
		// 需要访问的数据库URL
		String url = "jdbc:mysql://localhost:3306/course";
		// 数据库访问的用户名
		String db_user = "root";
		// 数据库访问的密码
		String db_pwd = "root";

		// 要执行的查询SQL语句
		String querySql = "SELECT * FROM UserInfo";
		// 要执行的更新SQL语句
		String updateSql = "UPDATE UserInfo SET Cell='88229530' WHERE ID=?";
		
		// 声明一个Connection对象,用于和数据库建立连接
		Connection conn = null;
		// 声明一个Statement对象,用于对数据库执行SQL语句
		Statement stmt = null;
		// 预处理语句
		PreparedStatement ps = null;
		try {
			// 装载驱动程序
			Class.forName(driver);
			// 获取和数据库的连接
			conn = DriverManager.getConnection(url, db_user, db_pwd);
			// 禁止自动递交,设置回滚点
			conn.setAutoCommit(false);
			// 创建一个Statement对象,用于对数据库执行SQL语句
			stmt = conn.createStatement();
			// 执行查询操作,得到的结果存放在ResultSet对象
			ResultSet rs = stmt.executeQuery(querySql);
			// 打印出查询到的所有数据
			System.out.println("ID\tLoginName\tUserName\tUserPwd");
			System.out.println("-------------------------------------------------");
			while (rs.next()) {
				int id = rs.getInt("ID");
				String loginName = rs.getString("LoginName");
				String userName = rs.getString("UserName");
				String passWord = rs.getString("UserPwd");
				System.out.println(id+"\t"+loginName+"\t\t"+userName+"\t\t"+passWord);
			}
			
			// 预编译SQL语句
			ps = conn.prepareStatement(updateSql);
			// 设置参数
			ps.setInt(1,6);
			// 更新数据库的记录,返回更新的记录数
			int count = ps.executeUpdate();
			System.out.println("更新记录:"+count+"条");
			// 事务递交
			conn.commit();
		} catch (Exception e) {
			System.out.println("Error:"+e);
			try { // 操作不成功则回滚
				conn.rollback();
			} catch (Exception ee) {}
		} finally {
			try {
				if (conn!=null) conn.close();
				if (stmt!=null) stmt.close();
			} catch (SQLException e) {}
		}
	}
}



User.java

package cn.net.nit.ems;

public class User {
	/** 用户ID */
	private String userId;
	/** 登录帐户名 */
	private String loginName;
	/** 真实姓名 */
	private String userName;
	/** 学号或工号 */
	private String userCode;

	/** 性别:'0'-男;'1'-女 */
	private String sex;
	private String password;
	/** 班级或部门编号 */
	private String deptId;
	/** 手机号码 */
	private String cell;
	private String email;

	/** 角色:"admin"-管理员;"user"-普通用户 */
	private String role;

	public User(String loginName, String password) {
		this.loginName = loginName;
		this.password = password;
	}

	public User() {

	}

	public String toString() {
		return userName + "\t" + userCode + "\t" + sex + "\t" + deptId + "\t" + loginName + "\t" + password + "\t"
				+ cell + "\t" + email + "\t" + role + "\t" + userId;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getLoginName() {
		return loginName;
	}

	public void setLoginName(String loginName) {
		this.loginName = loginName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserCode() {
		return userCode;
	}

	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	public String getSex() {
		return sex;
	}

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

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getDeptId() {
		return deptId;
	}

	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	public String getCell() {
		return cell;
	}

	public void setCell(String cell) {
		this.cell = cell;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getRole() {
		return role;
	}

	public void setRole(String role) {
		this.role = role;
	}
}



UserDAO.java

package cn.net.nit.ems;

import java.sql.*;
import java.util.UUID;

public class UserDAO {
	private String db_driver = "com.mysql.cj.jdbc.Driver";
	private String db_url = "jdbc:mysql://localhost:3306/course";
	private String db_user = "root";
	private String db_pwd = "root";

	/**
	 * 查询用户(通过账号密码查找)
	 * 
	 * @param userId   用户ID
	 * @param password 密码
	 */
	public User findUser(String loginName, String password) {
		Connection conn = null;
		try {
			conn = DBHelper.getConnection();
			if (conn == null)
				throw new SQLException("UserDAO: 无法获得数据库连接!");

			String sql = "SELECT * FROM UserInfo WHERE LoginName = '" + loginName + "'";
			if (password != null) {
				sql += " AND UserPwd='" + password + "'";
			}
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery(sql);
			User user = new User();
			if (rs.next()) {
				user.setUserId(rs.getString("UserID"));
				user.setUserName(rs.getString("UserName"));
				user.setLoginName(rs.getString("LoginName"));
				user.setSex(rs.getString("Sex"));
				user.setCell(rs.getString("Cell"));
				user.setEmail(rs.getString("Email"));
				user.setDeptId(rs.getString("DeptID"));
			}

			sql = "SELECT * FROM RoleMember WHERE UserID = '" + user.getUserId() + "'";
			rs = st.executeQuery(sql);
			if (rs.next()) {
				user.setRole(rs.getString("RoleID"));
				return user;
			}

		} catch (Exception ex) {
			System.out.println("UserDAO SQLException: " + ex);
		} finally {
			DBHelper.close(conn);
		}
		return null;
	}

	/**
	 * 查询用户(通过学号查找)
	 * 
	 * @param userCode 学生学号
	 */
	public User findUser(String userCode) {
		Connection conn = null;
		try {
			conn = DBHelper.getConnection();
			if (conn == null)
				throw new SQLException("UserDAO: 无法获得数据库连接!");

			String sql = "SELECT * FROM UserInfo WHERE UserCode = '" + userCode + "'";
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery(sql);
			if (rs.next()) {
				User user = new User();
				user.setUserCode(rs.getString("UserCode"));
				user.setLoginName(rs.getString("LoginName"));
				user.setPassword(rs.getString("UserPwd"));
				user.setUserId(rs.getString("UserID"));
				user.setUserName(rs.getString("UserName"));
				user.setLoginName(rs.getString("LoginName"));
				user.setSex(rs.getString("Sex"));
				user.setCell(rs.getString("Cell"));
				user.setEmail(rs.getString("Email"));
				user.setDeptId(rs.getString("DeptID"));
				return user;
			}
		} catch (Exception ex) {
			System.out.println("UserDAO SQLException: " + ex);
		} finally {
			DBHelper.close(conn);
		}
		return null;
	}

	/**
	 * 新增用户
	 * 
	 * @param user 用户对象
	 * @param role 用户角色:"10"-学生;"20"-教师;"30"-管理员
	 * @return true 新增用户成功
	 */
	public boolean insert(User user, String role) {
		String sql = " INSERT INTO UserInfo(UserID,LoginName, UserName, UserPwd, UserCode, Sex, DeptID, Cell, Email) VALUES (?,?, ?, ?, ?, ?, ?, ?, ?)";
		Connection conn = null;
		try {
			Class.forName(db_driver);
			conn = DriverManager.getConnection(db_url, db_user, db_pwd);
			if (conn == null)
				throw new Exception("UserDAO: 无法获得数据库连接!");
			conn.setAutoCommit(false);

			PreparedStatement ps = null;
			int num = 1;
			ps = conn.prepareStatement(sql);
			ps.setString(num++, user.getUserId());
			ps.setString(num++, user.getLoginName());
			ps.setString(num++, user.getUserName());
			ps.setString(num++, user.getPassword());
			ps.setString(num++, user.getUserCode());
			ps.setString(num++, user.getSex());
			ps.setString(num++, user.getDeptId());
			ps.setString(num++, user.getCell());
			ps.setString(num++, user.getEmail());
			if (ps.executeUpdate() <= 0) {
				throw new Exception("插入表UserInfo出错!");
			}

			// 插入角色成员表
			sql = "INSERT INTO RoleMember(UserID, RoleID) VALUES(?, ?)";
			ps = conn.prepareStatement(sql);
			ps.setString(1, user.getUserId());
			ps.setString(2, role);
			if (ps.executeUpdate() <= 0) {
				throw new Exception("插入表RoleMember出错!");
			}

			conn.commit();
			return true;
		} catch (Exception e) {
			System.err.println("****插入表UserInfo出错!");
			e.printStackTrace();
			try {
				if (conn != null)
					conn.rollback();
			} catch (Exception ex) {
			}
			return false;
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
	}

	/**
	 * 检测用户登入账号或者学号是否重复
	 * 
	 * @param column              要检测的数据列名
	 * @param loginNameOrUserCode 用户登入账号或者学号
	 * @return true 用户重复
	 */
	public boolean isLoginNameDuplicate(String column, String loginNameOrUserCode) {
		String sql = "SELECT * FROM UserInfo WHERE " + column + " = '" + loginNameOrUserCode + "'";
		Connection conn = null;
		try {
			Class.forName(db_driver);
			conn = DriverManager.getConnection(db_url, db_user, db_pwd);
			if (conn == null)
				throw new Exception("UserDAO: 无法获得数据库连接!");
			conn.setAutoCommit(false);

			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery(sql);
			if (rs.next()) {
				return true;
			}
			return false;
		} catch (Exception e) {
			System.err.println("****检测用户是否重复出错!");
			e.printStackTrace();
			try {
				if (conn != null)
					conn.rollback();
			} catch (Exception ex) {
			}
			return false;
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
	}

	/**
	 * 修改学生信息
	 * 
	 * @param user          用户对象
	 * @param changedColumn 需要修改的列名
	 * @param changedValue  新的数值
	 */
	public boolean changeStuents(User user, String changedColumn, String changedValue) {
		String sql = "UPDATE UserInfo SET " + changedColumn + " = ? WHERE UserCode = ?";
		Connection conn = null;
		try {
			Class.forName(db_driver);
			conn = DriverManager.getConnection(db_url, db_user, db_pwd);
			if (conn == null)
				throw new Exception("UserDAO: 无法获得数据库连接!");
			conn.setAutoCommit(false);

			PreparedStatement ps = null;
			ps = conn.prepareStatement(sql);

			ps.setString(1, changedValue);
			ps.setString(2, user.getUserCode());
			if (ps.executeUpdate() <= 0) {
				throw new Exception("修改表UserInfo出错!");
			}

			conn.commit();
			return true;
		} catch (Exception e) {
			System.err.println("****修改表UserInfo出错!");
			e.printStackTrace();
			try {
				if (conn != null)
					conn.rollback();
			} catch (Exception ex) {
			}
			return false;
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
	}

	/**
	 * 删除学生信息
	 * 
	 * @param user 被删除用户对象
	 */
	public boolean deleteStuents(User user) {
		String sql = "DELETE FROM UserInfo WHERE UserCode = ?";
		Connection conn = null;
		try {
			Class.forName(db_driver);
			conn = DriverManager.getConnection(db_url, db_user, db_pwd);
			if (conn == null)
				throw new Exception("UserDAO: 无法获得数据库连接!");
			conn.setAutoCommit(false);

			PreparedStatement ps = null;
			ps = conn.prepareStatement(sql);
			ps.setString(1, user.getUserCode());
			if (ps.executeUpdate() <= 0) {
				throw new Exception("删除表UserInfo数据出错!");
			}

			conn.commit();
			return true;
		} catch (Exception e) {
			System.err.println("****删除表UserInfo数据出错!");
			e.printStackTrace();
			try {
				if (conn != null)
					conn.rollback();
			} catch (Exception ex) {
			}
			return false;
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
	}

	/**
	 * 展示学生信息
	 */
	public boolean showStuents() {
		String sql = "SELECT * FROM UserInfo";
		Connection conn = null;
		try {
			Class.forName(db_driver);
			conn = DriverManager.getConnection(db_url, db_user, db_pwd);
			if (conn == null)
				throw new Exception("UserDAO: 无法获得数据库连接!");
			conn.setAutoCommit(false);

			System.out.println("姓名\t学号\t性别\t班级\t用户名\t密码\t电话\t电子邮件\t\t角色用户ID");
			Statement st = conn.createStatement();
			ResultSet rs = st.executeQuery(sql);

			while (rs.next()) {
				User user = new User();
				user.setUserCode(rs.getString("UserCode"));
				user.setLoginName(rs.getString("LoginName"));
				user.setPassword(rs.getString("UserPwd"));
				user.setUserId(rs.getString("UserID"));
				user.setUserName(rs.getString("UserName"));
				user.setSex(rs.getString("Sex"));
				user.setCell(rs.getString("Cell"));
				user.setEmail(rs.getString("Email"));
				user.setDeptId(rs.getString("DeptID"));

				String sql1 = "SELECT * FROM RoleMember WHERE UserID ='" + user.getUserId() + "'";
				Statement st1 = conn.createStatement();
				ResultSet rs1 = st1.executeQuery(sql1);
				if (rs1.next())
					user.setRole(rs1.getString("RoleID"));

				System.out.println(user.toString());
			}
			return true;
		} catch (Exception e) {
			System.err.println("****显示表UserInfo数据出错!");
			e.printStackTrace();
			try {
				if (conn != null)
					conn.rollback();
			} catch (Exception ex) {
			}
			return false;
		} finally {
			if (conn != null) {
				try {
					conn.close();
				} catch (SQLException e) {
				}
			}
		}
	}
}



Util.java

package cn.net.nit.ems;

public class Util {
	/**
	 * 输出日志信息
	 * @param log
	 */
	public static void Log(String log)
	{
		System.out.println(log);
		
	}
}



版权声明:本文为weixin_45827130原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。