2018-10-19

18799 ワード

ホームフェース
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 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 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  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 selectUser(User user ,int i) {
        //    
  List 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;
    }



}