站立会议---02 个人进度

  昨天我做了

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

      

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;
    }
    
    
    

}
User.java
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;
    }
    

}
operation.java 题目类
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;
    }
    
    
    
}
ErrorQuestion.java
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);
    
        
}
IUserDao.java
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) {
        
    }

}
UserDaoImpl.java

 

     

  今天我要做

    管理员页面的进一步开发

  目前遇到查询数据库信息失败的困难

posted @ 2017-12-19 07:37  s硕s  阅读(157)  评论(0编辑  收藏  举报