昨天我做了
用户类、题目类和错题类的进一步完善,和合并队友的操作接口和接口实现的任务,初步开始进行了管理员页面的开发。

package team.WHATEVER.Math.model; public class User { //用户的各个属性 private int u_Id;//编号(数据库自增自减) private String u_Nickname;//昵称(注册时填写) private String u_Name;//姓名(注册可填可不填,但加入小组时一定要填) private String u_Password;//密码 private int u_Type;//类型(0--老师 1--学生 -1--管理员) private String u_Group;//小组 ////各属性的Get Set函数 public int getU_Id() { return u_Id; } public void setU_Id(int u_Id) { this.u_Id = u_Id; } public String getU_Nickname() { return u_Nickname; } public void setU_Nickname(String u_Nickname) { this.u_Nickname = u_Nickname; } public String getU_Name() { return u_Name; } public void setU_Name(String u_Name) { this.u_Name = u_Name; } public String getU_Password() { return u_Password; } public void setU_Password(String u_Password) { this.u_Password = u_Password; } public int getU_Type() { return u_Type; } public void setU_Type(int u_Type) { this.u_Type = u_Type; } public String getU_Group() { return u_Group; } public void setU_Group(String u_Group) { this.u_Group = u_Group; } }

package team.WHATEVER.Math.model; public class Operation { //题目类的各个属性 int q_id; //题目编号 int u_Id; //用户编号 private String q_Question; //题目 private String q_CorrectResult; //正确答案 private String q_InputResult; //输入答案 private int q_QuestionNumber; //题目总个数 private String q_Date; //题目时间 private int q_Type; //题目类型 (练习和作业) private int q_Status; //题目状态 -1:答错的题 0:答对的题 //各属性的Get Set函数 public int getQ_id() { return q_id; } public void setQ_id(int q_id) { this.q_id = q_id; } public String getQ_Date() { return q_Date; } public void setQ_Date(String q_Date) { this.q_Date = q_Date; } public int getU_Id() { return u_Id; } public void setU_Id(int u_Id) { this.u_Id = u_Id; } public String getQ_Question() { return q_Question; } public void setQ_Question(String q_Question) { this.q_Question = q_Question; } public String getQ_CorrectResult() { return q_CorrectResult; } public void setQ_CorrectResult(String q_CorrectResult) { this.q_CorrectResult = q_CorrectResult; } public String getQ_InputResult() { return q_InputResult; } public void setQ_InputResult(String q_InputResult) { this.q_InputResult = q_InputResult; } public int getQ_QuestionNumber() { return q_QuestionNumber; } public void setQ_QuestionNumber(int q_QuestionNumber) { this.q_QuestionNumber = q_QuestionNumber; } public int getQ_Type() { return q_Type; } public void setQ_Type(int q_Type) { this.q_Type = q_Type; } public int getQ_Status() { return q_Status; } public void setQ_Status(int q_Status) { this.q_Status = q_Status; } }

package team.WHATEVER.Math.model; public class ErrorQuestion { //错题类的各个属性 private int q_Id; //错题编号 private int u_Id; //用户编号 private String q_Question; //题目 private String q_CorrectResult; //正确答案 private String q_Date; //错题日期 private int q_Type; //题目类型 (练习和作业) //属性的Get、Set方法 public int getQ_Id() { return q_Id; } public void setQ_Id(int q_Id) { this.q_Id = q_Id; } public int getU_Id() { return u_Id; } public void setU_Id(int u_Id) { this.u_Id = u_Id; } public String getQ_Question() { return q_Question; } public void setQ_Question(String q_Question) { this.q_Question = q_Question; } public String getQ_CorrectResult() { return q_CorrectResult; } public void setQ_CorrectResult(String q_CorrectResult) { this.q_CorrectResult = q_CorrectResult; } public String getQ_Date() { return q_Date; } public void setQ_Date(String q_Date) { this.q_Date = q_Date; } public int getQ_Type() { return q_Type; } public void setQ_Type(int q_Type) { this.q_Type = q_Type; } }

package team.WHATEVER.Math.dao; import java.util.List; import team.WHATEVER.Math.model.User; public interface IUserDao { public String login(String nickname,String password);//登录时填入昵称和密码 public void add_user(String name,String password,String nickname,int Type);//注册时填写真实姓名时调用 public void add_user(String password,String nickname,int Type);//注册时没填写真实姓名时调用 public void delete_user(String nickname); //删除 public void update_user(User user);//修改 public User find_user(String nickname);//根据昵称查找 public List<User> find_users();//查找表中的全部信息 public List<User> find_group(String group);//查找一个小组内的全部用户 void add_Operation(int u_id,String question,String CorrectResult,String Date,String Type,int Status); }

package team.WHATEVER.Math.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import team.WHATEVER.Math.Util.DBUtil; import team.WHATEVER.Math.model.User; import team.WHATEVER.Math.Util.UserException; public class UserDaoImpl implements IUserDao{ //登录时填入昵称和密码 public String login(String nickname, String password) {//用户密码不正确时,返回用户密码不正确,用户不存在返回“用户不存在”,用户昵称及密码正确,返回“ ” Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from p_user where u_nickname = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; User user = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, nickname); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { user = new User(); user.setU_Nickname(resultSet.getString("username")); user.setU_Password(resultSet.getString("password")); } if (user == null) { return "该用户不存在"; } if (!user.getU_Password().equals(password)) { return "密码不正确"; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } return " "; } //注册时填写真实姓名时调用 public void add_user(String name, String password, String nickname, int Type) {//注册时填写真实姓名时调用 //获得链接对象 Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select count(*) from p_user where u_nickname = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,nickname); //接收结果集 resultSet = preparedStatement.executeQuery(); //遍历结果集 while(resultSet.next()) { if (resultSet.getInt(1) > 0) { throw new UserException("用户已存在") ; } } sql = "insert into p_user(u_nickname,u_Name,u_password,u_Type) value (?,?,?,?)"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,nickname ); preparedStatement.setString(2, name); preparedStatement.setString(3, password); preparedStatement.setInt(4, Type); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //关闭资源 DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } } // public void add_user(String password, String nickname, int Type) {//注册时没填写真实姓名时调用 Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select count(*) from p_user where u_nickname = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,nickname); //接收结果集 resultSet = preparedStatement.executeQuery(); //遍历结果集 while(resultSet.next()) { if (resultSet.getInt(1) > 0) { throw new UserException("用户已存在") ; } } sql = "insert into p_user(u_nickname,u_password,u_Type) value (?,?,?)"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,nickname ); preparedStatement.setString(2, password); preparedStatement.setInt(3, Type); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //关闭资源 DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } } public void delete_user(String nickname) {//删除 Connection connection = DBUtil.getConnection(); String sql = "delete from p_user where u_nickname= ?"; PreparedStatement preparedStatement = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, nickname); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } } public void update_user(User user) {//更改 Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "update t_user set u_nickanme = ? , u_Name=? ,u_password=?,u_Type=?,u_group=? where u_Id = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, user.getU_Nickname()); preparedStatement.setString(2, user.getU_Name()); preparedStatement.setString(3, user.getU_Password()); preparedStatement.setInt(4, user.getU_Type()); preparedStatement.setString(5, user.getU_Group()); preparedStatement.setInt(5, user.getU_Id()); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(preparedStatement); DBUtil.close(connection); } } public User find_user(String nickname) {//查找用户,若用户存在则返回用户,若不存在则将用户的编号和类型设为10,其他属性设置为“空”, //若用户名还没填,则设置用户名为"空",若还没加入小组,则设置小组名为”空“ Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from p_user where u_nickanme = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; User user = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, nickname); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { user = new User(); user.setU_Id(resultSet.getInt("u_Id")); user.setU_Nickname(nickname); user.setU_Name(resultSet.getString("u_Name")); user.setU_Password(resultSet.getString("u_password"));; user.setU_Type(resultSet.getInt("u_Type")); user.getU_Group(); if (user == null) { user.setU_Id(-10); user.setU_Nickname("空"); user.setU_Name("空"); user.setU_Password("空");; user.setU_Type(-10); user.setU_Group("空"); } if (" ".equals(user.getU_Name())||user.getU_Name()==null) { user.setU_Name("空"); } if (" ".equals(user.getU_Group())||user.getU_Group()==null) { user.setU_Group("空"); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } return user; } public List<User> find_users() {//查询所有用户的信息//若用户名还没填,则设置用户名为"空",若还没加入小组,则设置小组名为”空“ Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from p_user where u_group = ?"; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; //集合中只能放入user对象 List<User> users = new ArrayList<User>(); User user = null; try { preparedStatement = connection.prepareStatement(sql); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { user = new User(); user.setU_Id(resultSet.getInt("u_Id")); user.setU_Nickname(resultSet.getString("u_nickname")); user.setU_Name(resultSet.getString("u_Name")); user.setU_Password(resultSet.getString("u_password")); user.setU_Type(resultSet.getInt("u_Type")); user.setU_Group(resultSet.getString("u_group")); if (" ".equals(user.getU_Name())||user.getU_Name()==null) { user.setU_Name("空"); } if (" ".equals(user.getU_Group())||user.getU_Group()==null) { user.setU_Group("空"); } users.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } return users; } public List<User> find_group(String group) {//查询组名为:group的小组成员//若用户名还没填,则设置用户名为"空" Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "select * from p_user "; //创建语句传输对象 PreparedStatement preparedStatement = null; ResultSet resultSet = null; //集合中只能放入user对象 List<User> users = new ArrayList<User>(); User user = null; try { preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, group); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { user = new User(); user.setU_Id(resultSet.getInt("u_Id")); user.setU_Nickname(resultSet.getString("u_nickname")); user.setU_Name(resultSet.getString("u_Name")); user.setU_Password(resultSet.getString("u_password"));; user.setU_Type(resultSet.getInt("u_Type")); user.getU_Group(); if (" ".equals(user.getU_Name())||user.getU_Name()==null) { user.setU_Name("空"); } users.add(user); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.close(resultSet); DBUtil.close(preparedStatement); DBUtil.close(connection); } return users; } public void add_Operation(int u_id, String question, String CorrectResult, String Date, String Type, int Status) { } }
今天我要做
管理员页面的进一步开发
目前遇到查询数据库信息失败的困难