团队作业六

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了团队作业六相关的知识,希望对你有一定的参考价值。

1、系统框架

 

 

2、系统结构图

  技术分享

3、各模块详细设计

  由于这次我们的项目主要是用来熟悉软件工程的流程,所以难度不大。

  1、帐号

技术分享
package cn.edu.sau.model;

public class User {
    private int id;
    private String userName;
    private String userPassword;
    private int role = 0; //默认为0->读者  1->图书管理员
    
    public User(){
        
    }
    
    public User(String userName, String userPassword) {
        super();
        this.userName = userName;
        this.userPassword = userPassword;
    }
    
    public User(String userName, String userPassword, int role) {
        super();
        this.userName = userName;
        this.userPassword = userPassword;
        this.role = role;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPassword() {
        return userPassword;
    }
    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public int getRole() {
        return role;
    }

    public void setRole(int role) {
        this.role = role;
    }
    
}
cn.edu.sau.model.User

  User类实现了对帐号的抽象描述,主要包括用户名,密码以及帐号角色。

技术分享
 1 package cn.edu.sau.dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 
 7 import cn.edu.sau.model.User;
 8 
 9 public class UserDao {
10     public User login(Connection con,User user) throws Exception{
11         User returnUser = null;
12         String sql = "select * from t_user where userName=? and password=?";
13         PreparedStatement pstmt = con.prepareStatement(sql);
14         pstmt.setString(1, user.getUserName());
15         pstmt.setString(2, user.getUserPassword());
16         ResultSet rs = pstmt.executeQuery();
17         if(rs.next()){
18             returnUser = new User(rs.getString("userName"),rs.getString("password"),rs.getInt("role"));
19         }
20         return returnUser;
21     }
22 }
cn.edu.sau.dao.UserDao

  UserDao提供帐号验证的方法并返回帐号对象,为空则帐号不存在。

技术分享
String userName = userNameTxt.getText();
                String userPassword = new String(userPasswordTxt.getPassword());
                if(StringUtil.isEmpty(userName)){
                    JOptionPane.showMessageDialog(null, "用户名不能为空");
                    return;
                }
                if(StringUtil.isEmpty(userPassword)){
                    JOptionPane.showMessageDialog(null, "密码不能为空");
                    return;
                }
                User user = new User(userName,userPassword);
                Connection con = null;
                
                try {
                    con = dbUtil.getCon();
                    User reUser = userDao.login(con, user);
                    if(reUser != null){
//                        JOptionPane.showMessageDialog(null, "登录成功");
                        dispose();//销毁登录框
                        if(1 == reUser.getRole()){
                            new MainFrm().setVisible(true);//创建管理员主界面Firme
                        }
                        else if(0 == reUser.getRole()){
                             new UserMainFrm().setVisible(true); //创建读者主界面
                        }
                    }else{
                        JOptionPane.showMessageDialog(null, "用户名或密码不正确");
                    }
                } catch (Exception e1) {
                    JOptionPane.showMessageDialog(null, "登录失败");
                    e1.printStackTrace();
                } finally{
                    try {
                        con.close();
                    } catch (SQLException e1) {
                        e1.printStackTrace();
                    }
                }
                
            }
cn.edu.sau.view.LogonFrm

  登录框界面通过验证逻辑层返回的帐号数据判断帐号是否存在,以及判断帐号权限,打开新的界面。

  2、图书类别维护

 未完待续...

  

以上是关于团队作业六的主要内容,如果未能解决你的问题,请参考以下文章

团队作业六

团队作业六之设计文档

团队作业六

烤盐人——团队作业六:凡事预则立

字节乱动--团队作业六:beta冲刺+事后诸葛亮博客汇总

字节乱动--团队作业六:alpha阶段问题总结