美文网首页
2018-10-19

2018-10-19

作者: 李洋codingfarmer | 来源:发表于2018-10-19 17:11 被阅读0次

主页面

package com.jdbc01.menu;

import java.util.Scanner;

public class MainMenu {
    public static void main(String[] args) {
        System.out.println("欢迎使用用户系统");
        System.out.println("==================");
        System.out.println("用户登录-----------------1");
        System.out.println("用户注册-----------------2");
        System.out.println("程序退出-----------------3");
        Scanner sc = new Scanner(System.in);
        int choice = sc.nextInt();
        switch (choice) {
        case 1:
            LogMenu lm=new LogMenu();
            lm.showMenu();
            break;
        case 2:
            RegMenu rm = new RegMenu();
            rm.showMenu();
            break;
        case 3:
            System.exit(0);
            break;
        default:
            System.out.println("请输入正确操作!");
        }
    }
}

注册界面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class RegMenu {
    public void showMenu() {
        System.out.println("用户注册界面");
        System.out.println("=============");
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的用户名");
        String name = sc.nextLine();
        System.out.println("请输入你的密码");
        String pwd = sc.nextLine();
        System.out.println("请输入你的邮箱");
        String email = sc.nextLine();
        IUserDao uDao = new UserDaoImpl();
        User user = new User();
        user.setName(name);
        user.setPwd(pwd);
        user.setEmail(email);
        int a=uDao.addUser(user);
        if(a>0){
            System.out.println("用户注册成功");
        }
        MainMenu mm=new MainMenu();
        mm.main(null);

    }

}

登入界面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class LogMenu {

    public void showMenu() {
        System.out.println("用户登入界面");
        System.out.println("==================");
        Scanner  sc=new Scanner(System.in);
        System.out.println("请输入你的用户名");
        String name=sc.nextLine();
        System.out.println("请输入你的用户密码");
        String pwd=sc.nextLine();
        IUserDao uDao=new UserDaoImpl();
        User user=new User();
        User user1=new User();
        user.setName(name);
        user.setPwd(pwd);
        user1=uDao.identifyUser(user);
        if(user1.getPower()==1){
            MWindowMenu mw=new MWindowMenu();
            mw.showMenu(user1);
        }else{
            WindowMenu wm=new WindowMenu();
            wm.showMenu(user1);
        }
        
    }

}

管理员页面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class MWindowMenu {

    public void showMenu(User user) {
        System.out.println("欢迎登入主窗体");
        System.out.println(user.getName()+"你好:  你的权限是:管理员");
        System.out.println("=======================");
        System.out.println("添加用户----------------------1");
        System.out.println("删除用户----------------------2");
        System.out.println("修改用户----------------------3");
        System.out.println("查询用户----------------------4");
        System.out.println("程序退出----------------------5");
        Scanner sc=new Scanner(System.in);
        int choice=sc.nextInt();
        
        switch(choice){
        case 1:
            AddMenu am=new AddMenu();
            am.addUser(user);
            break;
        case 2:
            DeleteMenu dm=new DeleteMenu();
            dm.showMenu(user);
            break;
        case 3:
            UpdateMenu gm=new UpdateMenu();
            gm.showMenu(user);
            break;
        case 4:
            SelectMenu cm=new SelectMenu();
            cm.showMenu(user);
            break;
        case 5:
            MainMenu mm=new MainMenu();
            mm.main(null);
            break;
            default:
                System.out.println("无效操作");
        }
        
        
    }

}

普通用户页面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class WindowMenu {

    public void showMenu(User user) {
        System.out.println("欢迎登入主窗体");
        System.out.println(user.getName()+"你好:  你的权限是:普通用户");
        System.out.println("=======================");
        System.out.println("修改自己的信息----------------------1");
        System.out.println("查询自己的信息----------------------2");
        System.out.println("程序退出---------------------------------3");
        Scanner sc=new Scanner(System.in);
        int choice=sc.nextInt();
        IUserDao uDao = new UserDaoImpl();
        switch(choice){
        case 1:
            UpdateMenu gm=new UpdateMenu();
            gm.showMenu(user);
            break;
        case 2:
            SelectMenu sm=new SelectMenu();
            sm.showMenu(user);
            break;
        case 3:
            MainMenu mm=new MainMenu();
            mm.main(null);
            break;
            default:
            System.out.println("无效操作");
        
    }
    }
}

添加用户界面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class AddMenu {

    public void addUser(User u) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入用户名");
        String name = sc.nextLine();
        System.out.println("请输入密码");
        String pwd = sc.nextLine();
        System.out.println("请输入邮箱");
        String email = sc.nextLine();
        IUserDao uDao = new UserDaoImpl();
        User user = new User();
        user.setName(name);
        user.setPwd(pwd);
        user.setEmail(email);
        int a=uDao.addUser(user);
        if(a>0){
            System.out.println("添加用户成功");
        }
        if(u.getPower()==1){
            MWindowMenu mw=new MWindowMenu();
            mw.showMenu(u);
        }else{
            WindowMenu wm=new WindowMenu();
            wm.showMenu(user);
        }
        
    }

}

查询用户界面

package com.jdbc01.menu;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class SelectMenu {

    public void showMenu(User user) {
        IUserDao uDao = new UserDaoImpl();
        List<User> uList = new ArrayList();
        User nu = new User();
        if (user.getPower() == 1) {
            System.out.println("查询全部用户----------------1");
            System.out.println("根据ID查询用户-------------2");
            System.out.println("根据姓名查询用户---------3");
            System.out.println("请输入要做的操作");
            int i = new Scanner(System.in).nextInt();
            switch (i) {
            case 1:
                uList = uDao.selectUser(user, 0);
                SelectMenu.outUser(uList);
                break;
            case 2:
                System.out.println("请输入要查询的用户ID");
                nu.setId(new Scanner(System.in).nextInt());
                uList = uDao.selectUser(nu, 1);
                SelectMenu.outUser(uList);
                break;
            case 3:
                System.out.println("请输入要查询的用户姓名(支持模糊查询)");
                nu.setName(new Scanner(System.in).nextLine());
                uList = uDao.selectUser(nu, 2);
                SelectMenu.outUser(uList);
                break;
            }
            MWindowMenu mw=new MWindowMenu();
            mw.showMenu(user);
        } else {
            uList = uDao.selectUser(user, 2);
            SelectMenu.outUser(uList);
            WindowMenu wm=new WindowMenu();
            wm.showMenu(user);
        }
        
    }

    public static void outUser(List<User> uList) {
        for (User u : uList) {
            System.out.print(u.getId() + "  " + u.getName() + "" + u.getPwd() + "" + u.getEmail());
            if (u.getPower() == 1) {
                System.out.println("管理员");
            } else {
                System.out.println("普通用户");
            }
        }
    }
}

删除用户界面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class DeleteMenu {

    public void showMenu(User u) {
        User user=new User();
        IUserDao uDao = new UserDaoImpl();
        System.out.println("请输入要删除用户的ID");
        int i=new Scanner(System.in).nextInt();
        user.setId(i);
        int a=uDao.deleteUser(user);
        
        if(a>0){
            System.out.println("删除用户成功");
        }else{
            System.out.println("删除呢用户失败");
        }
        MWindowMenu mw=new MWindowMenu();
        mw.showMenu(u);
    }

}

修改用户界面

package com.jdbc01.menu;

import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.dao.impl.UserDaoImpl;
import com.jdbc01.pojo.User;

public class UpdateMenu {

    public void showMenu(User user1) {
        User user = new User();
        IUserDao uDao = new UserDaoImpl();
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入要修改的用户名");
        user.setName(sc.nextLine());
        System.out.println("请输入要修改的密码");
        user.setPwd(sc.nextLine());
        System.out.println("请输入要修改的邮箱地址");
        user.setEmail(sc.nextLine());
        if (user1.getPower() == 1) {
            System.out.println("请输入要修改的用户ID");
            user.setId(sc.nextInt());
            System.out.println("请输入要修改的用户的权限(管理员/普通用户)");
            user.setPower(sc.nextInt());
        }else if(user1.getPower() == 0){
            user.setPower(0);
            user.setId(user1.getId());
        }
        int a = uDao.updateUser(user);
        if (a > 0) {
            System.out.println("修改用户成功");
        }
        if(user1.getPower()==1){
            MWindowMenu mw=new MWindowMenu();
            mw.showMenu(user1);
        }else{
            WindowMenu wm=new WindowMenu();
            wm.showMenu(user1);
        }
    }

}

实体类

package com.jdbc01.pojo;

public class User {
    private int id;
    private String name;
    private String pwd;
    private String email;
    private int power=0;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getEmail() {
        return email;
    }

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

    public int getPower() {
        return power;
    }

    public void setPower(int power) {
        this.power = power;
    }

}

工具类

package com.jdbc01.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class DButil {
    public static Connection getConnection() {
        // 用于数据库连接的方法
        Connection conn = null;
        try {
            // 载入资源文件
            Properties prop = new Properties();
            prop.load(DButil.class.getResourceAsStream("/db.properties"));
            String driver = prop.getProperty("driver");
            String url = prop.getProperty("url");
            String name = prop.getProperty("userName");
            String pwd = prop.getProperty("passWord");
            Class.forName(driver);
            conn = DriverManager.getConnection(url, name, pwd);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.println("数据库连接异常");
            e.printStackTrace();
        }
        return conn;

    }

    public static void closeConnection(ResultSet rs, Statement stat, Connection conn) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stat != null) {
                stat.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (Exception e) {
            System.out.println("数据库关闭异常");
            e.printStackTrace();
        }
    }
}

接口

package com.jdbc01.dao;

import java.util.List;

import com.jdbc01.pojo.User;

public interface IUserDao {

    int addUser(User user);

    User identifyUser(User user);

    List<User>  selectUser(User user,int i);

    int updateUser(User user);

    int deleteUser(User user);

}

实现类

package com.jdbc01.dao.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import com.jdbc01.dao.IUserDao;
import com.jdbc01.pojo.User;
import com.jdbc01.utils.DButil;

public class UserDaoImpl implements IUserDao {
    Connection conn = null;
    PreparedStatement stat = null;
    ResultSet rs = null;

    @Override
    public int addUser(User user) {
        //添加用户
        int a = 0;
        conn = DButil.getConnection();
        try {
            stat = conn.prepareStatement("insert into t_user values (null,?,?,?,?)");
            stat.setString(1, user.getName());
            stat.setString(2, user.getPwd());
            stat.setString(3, user.getEmail());
            stat.setInt(4, 0);
            a = stat.executeUpdate();

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            System.out.println("数据库异常");
            e.printStackTrace();
        } finally {
            DButil.closeConnection(null, stat, conn);
        }
        return a;
    }

    @Override
    public User identifyUser(User user) {
        //验证登录
        conn = DButil.getConnection();
        try {
            stat = conn.prepareStatement("select * from t_user where user_name=? and user_pwd=?");
            stat.setString(1, user.getName());
            stat.setString(2, user.getPwd());
            ResultSet rs = stat.executeQuery();
            if(rs.next()){
                System.out.println("用户登入成功");
                System.out.println("=============");
                User u = new User();
                u.setName(rs.getString("user_name"));
                u.setPower(rs.getInt("user_power"));
                u.setId(rs.getInt("user_id"));
                u.setEmail(rs.getString("user_email"));
                u.setPwd(rs.getString("user_pwd"));
                return u;
            } else{
                System.out.println("用户名或密码错误");
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            DButil.closeConnection(rs, stat, conn);
        }

        return null;
    }

    @Override
    public List<User> selectUser(User user ,int i) {
        //查询用户
  List<User> userList=new ArrayList();
        
        conn = DButil.getConnection();
        try {
            switch(i){
            case 0:
                stat = conn.prepareStatement("select * from t_user ");
                break;
            case 1:
                stat = conn.prepareStatement("select * from t_user where user_id=? ");
                stat.setInt(1, user.getId());
                break;
            case 2:
            stat = conn.prepareStatement("select * from t_user where user_name=? ");
            stat.setString(1, user.getName());
            break;
            }
            rs = stat.executeQuery();
            while(rs.next()) {
                User u = new User();
                u.setId(rs.getInt("user_id"));
                u.setName(rs.getString("user_name"));
                u.setPwd(rs.getString("user_pwd"));
                u.setEmail(rs.getString("user_email"));
                userList.add(u);
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            DButil.closeConnection(rs, stat, conn);
        }

        return userList;

    }

    @Override
    public int updateUser(User user) {
        //修改用户
        int a = 0;
        conn = DButil.getConnection();
        try {
            stat = conn.prepareStatement(
                    "update  t_user set  user_name=?,user_pwd=?,user_email=?,user_power=? where user_id=? ");
            stat.setString(1, user.getName());
            stat.setString(2, user.getPwd());
            stat.setString(3, user.getEmail());
            stat.setInt(4, user.getPower());
            stat.setInt(5, user.getId());
            a = stat.executeUpdate();
            return a;

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            DButil.closeConnection(null, stat, conn);
        }
        return a;

    }

    @Override
    public int deleteUser(User user) {
        //删除用户
        conn=DButil.getConnection();
        int a=0;
        try {
            stat=conn.prepareStatement("delete from t_user where user_id=?");
            stat.setInt(1, user.getId());
            a=stat.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            DButil.closeConnection(null, stat, conn);
        }
        return a;
    }



}

相关文章

网友评论

      本文标题:2018-10-19

      本文链接:https://www.haomeiwen.com/subject/makuzftx.html