美文网首页
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