java se +mysql——基于控制台实现简易餐厅管理系统

基于控制台实现简易的餐厅管理系统,主要运用java se + mySQL 实现!

目录

一、建立三个实体类

二、创建三个接口

三、创建三个接口实现类

四、创建一个测试类

五、添加一个JDBC的工具类


 一、建立三个实体类

  •           用户类(User)
  •           菜品类(Food)
  •           订单类(Order)
package com.sys.rms.model;

//用户类:用户id,用户姓名,用户密码,用户的菜品,消费金额
public class User {
    private int uid;                   //用户id
    private String uname;              //用户姓名
    private String passwd;             //用户密码

    //无参构造方法
    public User() {
    }

    //有参构造方法
    public void setvalues(int uid, String uname, String passwd) {
        this.uid = uid;
        this.uname = uname;
        this.passwd = passwd;

    }

    //get()和set()方法
    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }


    //返回数据,toString方法
    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", uname='" + uname + '\'' +
                ", passwd='" + passwd + '\'' + '}';
    }
}
package com.sys.rms.model;

//菜品类:菜品id,菜品类型,菜品名称,菜品单价,菜品剩余分量

public class Food {
    //定义
    private int fid;             //菜品id
    private String ftype;        //菜品类型
    private String fname;        //菜品名称
    private double fprice;       //菜品单价,

    //无参构造方法
    public Food() {
    }

    //有参构造方法
    public Food(int fid, String ftype, String fname, double fprice) {
        this.fid = fid;
        this.ftype = ftype;
        this.fname = fname;
        this.fprice = fprice;

    }

    //get()和set()方法
    public int getFid() {
        return fid;
    }

    public void setFid(int fid) {
        this.fid = fid;
    }

    public String getFtype() {
        return ftype;
    }

    public void setFtype(String ftype) {
        this.ftype = ftype;
    }

    public String getFname() {
        return fname;
    }

    public void setFname(String fname) {
        this.fname = fname;
    }

    public double getFprice() {
        return fprice;
    }

    public void setFprice(double fprice) {
        this.fprice = fprice;
    }



    //返回数据,toString方法
    @Override
    public String toString() {
        return "Food{" +
                "fid=" + fid +
                ", ftype='" + ftype + '\'' +
                ", fname='" + fname + '\'' +
                ", fprice=" + fprice +
                ", fnum=" + '}';
    }
}
package com.sys.rms.model;
//订单类: 用户id,用户名,点菜列表,总金额,支付方式
public class Order {

    private int oid;
    private String oname;
    private String ocontent;
    private double oamount;
    private String payway;

    //无参构造方法
    public Order() {
    }

    //get()和set()方法


    public Order(int oid, String oname, String ocontent, double oamount, String payway) {
        this.oid = oid;
        this.oname = oname;
        this.ocontent = ocontent;
        this.oamount = oamount;
        this.payway = payway;
    }

    public int getOid() {
        return oid;
    }

    public void setOid(int oid) {
        this.oid = oid;
    }

    public String getOname() {
        return oname;
    }

    public void setOname(String oname) {
        this.oname = oname;
    }

    public String getOcontent() {
        return ocontent;
    }

    public void setOcontent(String ocontent) {
        this.ocontent = ocontent;
    }

    public double getOamount() {
        return oamount;
    }

    public void setOamount(double oamount) {
        this.oamount = oamount;
    }

    public String getPayway() {
        return payway;
    }

    public void setPayway(String payway) {
        this.payway = payway;
    }

    //返回数据,toString方法


    @Override
    public String toString() {
        return "Order{" +
                "oid=" + oid +
                ", oname='" + oname + '\'' +
                ", ocontent='" + ocontent + '\'' +
                ", oamount=" + oamount +
                ", payway='" + payway + '\'' +
                '}';
    }
}

二、创建三个接口

  •        用户接口:UserDao
  •        菜品接口(FoodDao)
  •        管理员接口(AdminDao)
package com.sys.rms.dao;

import com.sys.rms.model.Food;
import com.sys.rms.model.User;

import java.util.List;

public interface UserDao {

    //注册方法
    public boolean register(User user) throws Exception;

    //登录方法
    public boolean login(User user) throws Exception;

    //查看并修改密码
    public  void modify(User user) throws Exception;



    //点菜
    public void  chooseOrder(User user) throws Exception;

    //加菜
    public void  addChooseOrder(User user) throws Exception;

    //买单
    public boolean  payment(User user) throws Exception;
    
}
package com.sys.rms.dao;

import com.sys.rms.model.Food;

import java.util.List;

public interface FoodDao {
    //查看全部菜品
    public void showFood() throws Exception;

    //分类查看菜品
    public void  typeShow() throws Exception;

    //菜品搜索
    public void  search() throws Exception;
}
package com.sys.rms.dao;

import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;

import java.util.List;

public interface AdminDao {

    //菜品增加
    public void addFood() throws Exception;
    //菜品删除
    public void delFood() throws Exception;
    //修改菜品价格
    public void modFoodPrice() throws Exception;


    //查看所有订单
    public void showOrder() throws Exception;

}

三、创建三个接口实现类

  •        用户接口实现类(UserDaoImpl)
  •        菜品接口实现类(FoodDaoImpl)
  •        管理员接口实现类(AdminDaoImpl)
package com.sys.rms.daoImpl;

import com.sun.org.apache.xpath.internal.operations.Or;
import com.sun.xml.internal.ws.addressing.WsaActionUtil;
import com.sys.rms.dao.UserDao;
import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;
import com.sys.rms.util.JDBCUtilss;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class UserDaoImpl implements UserDao {

    Scanner scanner = new Scanner(System.in);
    User user = new User();
    Food food = new Food();

    //注册用户
    @Override
    public boolean register(User user) throws Exception {
        Connection conn=null;
        int num=0;
        String sql;
        boolean flag=true;
        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="insert into rms.ruser(uid,uname,upasswd) values(?,?,?)";
            //调用更新数据库的方法
            num=JDBCUtilss.executeUpdate(sql,user.getUid(),user.getUname(),user.getPasswd());
            //判断是否注册成功
            if (num!=1) {
                flag=false;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }
        return flag;
    }

    //登录用户
    @Override
    public boolean login(User user) throws Exception {
        Connection conn=null;  //链接
        ResultSet rs=null;   //查询的数据
        String sql=null;
        boolean flag=true;

        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="SELECT uname,upasswd  FROM rms.ruser  where uid=?  and  upasswd=?";
            //查询数据库的方法

            rs=JDBCUtilss.executeQuery(sql, user.getUid(),user.getPasswd());

            User user1=new User();

            while(rs.next()){
                user1.setPasswd(rs.getString("upasswd"));
            }
            //判断是否登录成功
            if (user1.getPasswd()==null) {
                flag=false;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        return flag;
    }

    //修改账户或者密码
    @Override
    public void modify(User user) throws Exception {
        Connection conn=null;
        int rs;
        String sql;

        System.out.println("请输入新密码:必须6位");
        String  pw = scanner.next();
        if(pw.length()!=6) {
            System.out.println("修改密码失败......");
            return;
        }
        try {
            conn=JDBCUtilss.getConnection();
            sql="update rms.ruser set upasswd=?  where uid =?";
            rs=JDBCUtilss.executeUpdate(sql,pw,user.getUid());

            if (rs!=1) {
                System.out.println("修改密码失败......");
            } else {
                System.out.println("修改密码成功......");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }


    }
    //点菜
    @Override
    public void chooseOrder(User user) throws Exception {
        Connection conn=null;
        ResultSet rs=null;   //差寻的数据
        int num=0;
        String sql;
        String ocontent = "";
        double oamount = 0;
        //创建一个新的数据库连接

        try{
            conn = JDBCUtilss.getConnection();

            System.out.println("开始点菜.....");
            for (int i = 1; ; i++) {

                System.out.println("请输入菜品编号:");
                int fnum1 = scanner.nextInt();

                if (fnum1 == -1 ) {
                    System.out.println("点菜完成.....");
                    break;
                }
                System.out.println("请输入数量:");
                int fnum2 = scanner.nextInt();
                if ( fnum2 == -1) {
                    System.out.println("点菜完成.....");
                    break;
                }
                if (fnum1 <=  0 && fnum2 >= 1) {
                    System.out.println("请输入有效菜品编号和数量");
                    continue;
                }

                //编写sql代码
                sql = "select  fname,fprice FROM rms.rfood where fid = ? ";
                rs = JDBCUtilss.executeQuery(sql, fnum1);
                while (rs.next()) {
                ocontent = ocontent.concat(rs.getString("fname").concat(":").concat(rs.getString("fprice")).concat("元/份,").concat(String.valueOf(fnum2)).concat("份;"));
                oamount = oamount + rs.getDouble("fprice") * fnum2;

                    System.out.println("已点菜品:"+ocontent);
                    System.out.println("已点菜品总金额为:"+oamount);
                }
                System.out.println("继续点菜,点菜完成输入-1");
            }
        } finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }

        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="insert into rms.rorder(uid,uname,ocontent,oamount,payway) values(?,?,?,?,?)";
            //调用更新数据库的方法
            num=JDBCUtilss.executeUpdate(sql,user.getUid(),user.getUname(),ocontent,oamount,"null");
            //判断是否更新成功
            if (num!=1) {
                System.out.println("点菜失败.....");
            } else {
                System.out.println("点菜成功.....");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }
    }

    //加菜
    @Override
    public void addChooseOrder(User user) throws Exception {
        Connection conn=null;
        ResultSet rs=null;   //查询的数据
        int num=0;
        String sql;
        String ocontent = "";
        double oamount = 0;
        //创建一个新的数据库连接

        try{
            conn = JDBCUtilss.getConnection();
            System.out.println("开始加菜......");
            for (int i = 1; ; i++) {

                System.out.println("请输入菜品编号:");
                int fnum1 = scanner.nextInt();
                if (fnum1 == -1 ) {
                    System.out.println("加菜完成.....");
                    break;
                }
                System.out.println("请输入数量:");
                int fnum2 = scanner.nextInt();
                if (fnum2 == -1) {
                    System.out.println("加菜完成.....");
                    break;
                }
                if (fnum1 > 51 && fnum2 >= 1) {
                    System.out.println("请输入有效菜品编号和数量");
                    continue;
                }

                //编写sql代码
                sql = "select  fname,fprice FROM rms.rfood where fid = ? ";
                rs = JDBCUtilss.executeQuery(sql, fnum1);
                while (rs.next()) {
                    ocontent = ocontent.concat(rs.getString("fname").concat(":").concat(rs.getString("fprice")).concat("元/份,").concat(String.valueOf(fnum2)).concat("份;"));
                    oamount = oamount + rs.getDouble("fprice") * fnum2;

                    System.out.println("已增加菜品:"+ocontent);
                    System.out.println("已增加菜品总金额为:"+oamount);
                }
                System.out.println("继续加菜,加菜完成输入-1");
            }
        } finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }

        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="select ocontent,oamount FROM rms.rorder  where uid = ?";
            rs=JDBCUtilss.executeQuery(sql,user.getUid());
            while(rs.next()){
                ocontent = rs.getString("ocontent").concat(ocontent);
                oamount = rs.getDouble("oamount")+oamount;
            }

            sql="update rms.rorder set ocontent =  ?,oamount = ? where uid = ?";
            //调用更新数据库的方法
            num=JDBCUtilss.executeUpdate(sql,ocontent,oamount,user.getUid());
            //判断是否更新成功
            if (num!=1) {
                System.out.println("加菜失败.....");
            } else {
                System.out.println("加菜成功.....");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }

    }

    //买单
    @Override
    public boolean payment(User user) throws Exception {
        Connection conn=null;//链接
        ResultSet rs=null;   //差寻的数据
        String sql=null;
        int num=0;
        boolean flag=true;
        List<Order> list=new ArrayList<Order>();
        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="SELECT uid,uname,ocontent,oamount  FROM rms.rorder  where uid= ?";
            //查询数据库的方法

            rs=JDBCUtilss.executeQuery(sql, user.getUid());
            Order order = new Order();
            while(rs.next()){
                order.setOid(rs.getInt("uid"));
                order.setOname(rs.getString("uname"));
                order.setOcontent(rs.getString("ocontent"));
                order.setOamount(rs.getDouble("oamount"));
                list.add(order);
            }

            if (order.getOamount() >0 && order.getOcontent() != null) {
                for (Order tmp: list) {
                    System.out.println(tmp);
                }
                System.out.println("正在出单....");
                System.out.println("您一共消费:"+order.getOamount());
                System.out.println("请选择支付方式:1.微信;2支付宝;3银行卡");
                int n = scanner.nextInt();
                if (n == 1) {
                    order.setPayway("微信支付");
                }else if (n == 2){
                    order.setPayway("支付宝支付");
                } else if (n == 3){
                    order.setPayway("银行卡支付");
                }
                sql="update rms.rorder set payway=? where uid = ?";
                //调用更新数据库的方法
                num=JDBCUtilss.executeUpdate(sql,order.getPayway(),user.getUid());
                //判断是否更新成功
                if (num!=1) {
                    System.out.println(order.getPayway()+"买单失败......");
                } else {
                    System.out.println(order.getPayway()+"买单成功......");
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        return false;
    }
}
package com.sys.rms.daoImpl;

import com.sys.rms.dao.FoodDao;
import com.sys.rms.model.Food;
import com.sys.rms.util.JDBCUtilss;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class FoodImpl  implements FoodDao {

    Scanner scanner = new Scanner(System.in);

    //查看菜品
    @Override
    public void showFood() throws Exception {
        Connection conn=null;
        ResultSet rs=null;
        String sql;

        List<Food> list=new ArrayList<Food>();
        try {
            conn= JDBCUtilss.getConnection();
            sql="select * from rms.rfood";

            rs=JDBCUtilss.executeQuery(sql);

            while(rs.next()){
                Food food = new Food();
                food.setFid(rs.getInt("fid"));
                food.setFtype(rs.getString("ftype"));
                food.setFname(rs.getString("fname"));
                food.setFprice(rs.getDouble("fprice"));
                list.add(food);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        for (Food tmp : list) {
            System.out.println(tmp);
        }

    }

    //分类查看菜品
    @Override
    public void typeShow() throws Exception {
        Connection conn=null;
        ResultSet rs=null;
        String sql;

        List<Food> list=new ArrayList<Food>();
        System.out.println("请输入菜品类型:(包括凉菜、热菜、鲜汤、米饭)");
        String type = scanner.next();
        try {
            conn= JDBCUtilss.getConnection();
            sql="select * from rms.rfood where  ftype = ?";

            rs=JDBCUtilss.executeQuery(sql,type);

            while(rs.next()){
                Food food = new Food();
                food.setFid(rs.getInt("fid"));
                food.setFtype(rs.getString("ftype"));
                food.setFname(rs.getString("fname"));
                food.setFprice(rs.getDouble("fprice"));

                list.add(food);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        for (Food tmp : list) {
            System.out.println(tmp);
        }
    }

    //搜索菜品
    @Override
    public void search() throws Exception {
        Connection conn=null;
        ResultSet rs=null;
        String sql;

        List<Food> list=new ArrayList<Food>();
        System.out.println("请输入菜品名称");
        String type = scanner.next();
        try {
            conn= JDBCUtilss.getConnection();
            sql="select * from rms.rfood where  fname like \"%\"?\"%\"";

            rs=JDBCUtilss.executeQuery(sql,type);

            while(rs.next()){
                Food food = new Food();
                food.setFid(rs.getInt("fid"));
                food.setFtype(rs.getString("ftype"));
                food.setFname(rs.getString("fname"));
                food.setFprice(rs.getDouble("fprice"));

                list.add(food);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        for (Food tmp : list) {
            System.out.println(tmp);
        }
    }
}
package com.sys.rms.daoImpl;

import com.sys.rms.dao.AdminDao;
import com.sys.rms.model.Food;
import com.sys.rms.model.Order;
import com.sys.rms.model.User;
import com.sys.rms.util.JDBCUtilss;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class AdminDaoImpl implements AdminDao {

    Food food = new Food();
    Scanner scanner = new Scanner(System.in);
    //添加菜品
    @Override
    public void addFood() throws Exception {
        Connection conn=null;
        int num=0;
        String sql;
        boolean flag=true;
        System.out.println("菜品编号:");
        food.setFid(scanner.nextInt());
        System.out.println("菜品类型:");
        food.setFtype(scanner.next());
        System.out.println("菜品名称:");
        food.setFname(scanner.next());
        System.out.println("菜品单价");
        food.setFprice(scanner.nextDouble());

        try {
            //创建一个新的数据库连接
            conn = JDBCUtilss.getConnection();
            //编写sql代码
            sql="insert into rms.rfood(fid,ftype,fname,fprice) values(?,?,?,?)";
            //调用更新数据库的方法
            num=JDBCUtilss.executeUpdate(sql,food.getFid(),food.getFtype(),food.getFname(),food.getFprice());
            //判断是否添加成功
            if (num == 1) {
                System.out.println("添加菜品成功....");
            }else {
                System.out.println("添加菜品失败....");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }

    }
    //删除菜品
    @Override
    public void delFood() throws Exception {
        Connection conn=null;
        int rs;
        String sql;

        System.out.println("删除的菜品编号:");
        int num = scanner.nextInt();

        try {
            conn=JDBCUtilss.getConnection();
            sql="delete from rms.rfood where fid = ?";
            rs=JDBCUtilss.executeUpdate(sql,num);
            if (rs!=1) {
                System.out.println("删除失败.....");
            } else {
                System.out.println("删除成功.....");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }
    }

    //修改单价
    @Override
    public void modFoodPrice() throws Exception {
        Connection conn=null;
        int rs;
        String sql;
        System.out.println("菜品编号:");
        int num = scanner.nextInt();
        System.out.println("单价:");
        double price = scanner.nextDouble();
        try {
            conn=JDBCUtilss.getConnection();
            sql="update rms.rfood set fprice = ?  where fid = ?";
            rs=JDBCUtilss.executeUpdate(sql,price,num);

            if (rs!=1) {
                System.out.println("修改单价失败.....");
            } else {
                System.out.println("修改单价成功.....");
            }


        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            sql=null;
            JDBCUtilss.closeAll(conn,null,null);
        }
    }


    //查看所有订单
    @Override
    public void showOrder() throws Exception {
        Connection conn=null;
        ResultSet rs=null;
        String sql;

        List<Order> list=new ArrayList<Order>();
        try {
            conn= JDBCUtilss.getConnection();
            sql="select * from rms.rorder";

            rs=JDBCUtilss.executeQuery(sql);

            while(rs.next()){
                Order order = new Order();
                order.setOid(rs.getInt("uid"));
                order.setOname(rs.getString("uname"));
                order.setOcontent(rs.getString("ocontent"));
                order.setOamount(rs.getDouble("oamount"));
                order.setPayway(rs.getString("payway"));
                list.add(order);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            sql=null;
            JDBCUtilss.closeAll(conn,null,rs);
        }
        for (Order tmp : list) {
            System.out.println(tmp);
        }
    }


}

四、创建一个测试类

         实现逻辑:Home.java

package com.sys.rms.test;



import com.sys.rms.dao.AdminDao;
import com.sys.rms.dao.FoodDao;
import com.sys.rms.dao.UserDao;
import com.sys.rms.daoImpl.AdminDaoImpl;
import com.sys.rms.daoImpl.FoodImpl;
import com.sys.rms.daoImpl.UserDaoImpl;
import com.sys.rms.model.User;

import java.util.Scanner;

public class Home {

    public static void main(String[] args) throws Exception {

        UserDao userDao = new UserDaoImpl();
        AdminDao adminDao = new AdminDaoImpl();
        FoodDao foodDao = new FoodImpl();
        User user = new User();
        Scanner scanner = new Scanner(System.in);

        System.out.println("-----欢迎来到山海餐厅------");
        System.out.println("请选择: 1,普通用户;   2,管理员");
        int usertype = scanner.nextInt();

        if (usertype == 1) {
            System.out.println("您选择了普通用户....");



            System.out.println("注意:没有账号?先注册后登录....");
            System.out.println("请选择:1.注册用户;  2.登录用户");
            boolean flags1 = false;   //测试是否登录成功

            int u = scanner.nextInt();
            while(true) {
                System.out.println("请输入账号:");
                int id = scanner.nextInt();
                System.out.println("请输入姓名:");
                String name = scanner.next();
                System.out.println("请输入密码(必须为6个字符):");
                String passwd = scanner.next();
                if (passwd.length() == 6 && (name != null) && (id > 0)) {   //判断密码是否满足条件
                    user.setvalues(id, name, passwd);
                    flags1 = true;
                    break;
                } else {
                    System.out.println("输入错误,请重新输入,退出请输入-1....");
                    continue;
                }
            }
            boolean flags2 = false;      //判断是否登录成功
            if (u == 1) {
                System.out.println("---------注册用户------");
                if(userDao.register(user)){
                    System.out.println("注册成功!");
                    System.out.println("---------登录用户------");
                    if (userDao.login(user)) {
                        System.out.println("登录成功!");
                        flags2 = true;
                    } else {
                        System.out.println("登录失败,退出.....");
                    }
                }else {
                    System.out.println("注册失败!");
                }
            } else if (u == 2) {
                System.out.println("---------登录用户------");
                if (userDao.login(user)) {
                    System.out.println("登录成功!");
                    flags2 = true;
                } else {
                    System.out.println("账号密码有误,登录失败;退出.....");
                }
            } else {
                System.out.println("输入有误,退出.....");
            }

            if (flags2 == true) {
                while (true) {
                    System.out.println("------ 山海餐厅首页------");
                    System.out.println("-----1:查看所有菜品-----");
                    System.out.println("-----2:分类查看菜品-----");
                    System.out.println("-----3:搜索菜品名称-----");
                    System.out.println("-----4:点菜 -----------");
                    System.out.println("-----5:加菜------------");
                    System.out.println("-----6:买单------------");
                    System.out.println("-----7:修改密码------ --");
                    System.out.println("-----8:退出------------");
                    System.out.println("请选择:");
                    int n = scanner.nextInt();
                    if (n == 8){
                        System.out.println("您已经退出.....");
                        break;
                    }
                    switch (n) {
                        case 1: foodDao.showFood(); break;
                        case 2: foodDao.typeShow();break;
                        case 3: foodDao.search();break;
                        case 4: userDao.chooseOrder(user);break;
                        case 5: userDao.addChooseOrder(user);break;
                        case 6: userDao.payment(user);break;
                        case 7: userDao.modify(user);break;
                    }
                }
            }
        }else {
            boolean flags = false;
            System.out.println("您选择了管理员用户....");
            int i = 1;
            while(i <= 3) {
                System.out.println("请输入管理员账号:");
                int id = scanner.nextInt();
                System.out.println("请输入管理员名称:");
                String name = scanner.next();
                System.out.println("请输入管理员密码:");
                String passwd = scanner.next();
                if (passwd.equals("1111") && (name.equals("Admin")) && (id == 1)) {   //判断是否满足条件
                    System.out.println("登录成功......");
                    flags  = true;
                    break;
                } else {
                    if (i >= 3) {
                        System.out.println("输入错误三次,管理员账户已冻结.....");
                        break;
                    }
                    System.out.println("输入错误还剩"+(3-i)+"次机会!请重新输入,退出请输入-1....");
                    i ++;

                    continue;
                }

            }
            if (flags == true) {

                while (true) {
                    System.out.println("------ 山海后台管理 ------");
                    System.out.println("-----1:查看所有菜品-----");
                    System.out.println("-----2:分类查看菜品-----");
                    System.out.println("-----3:搜索菜品名称-----");
                    System.out.println("-----4:添加菜品 -----------");
                    System.out.println("-----5:删除菜品------------");
                    System.out.println("-----6:修改菜品单价---------");
                    System.out.println("-----7:查看订单------ --");
                    System.out.println("-----8:退出------------");
                    System.out.println("请选择:");
                    int n = scanner.nextInt();
                    if (n == 8){
                        System.out.println("您已经退出.....");
                        break;
                    }
                    switch (n) {
                        case 1: foodDao.showFood(); break;
                        case 2: foodDao.typeShow();break;
                        case 3: foodDao.search();break;
                        case 4: adminDao.addFood();break;
                        case 5: adminDao.delFood(); break;
                        case 6: adminDao.modFoodPrice();break;
                        case 7: adminDao.showOrder();break;
                    }
                }
            }

        }

    }
}

五、添加一个JDBC的工具类

package com.sys.rms.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * jdbc工具类
 * 1.数据库连接的获取
 * 2.数据库资源的关闭
 * 3.insert/update/delete方法的封装
 * 4.select方法的封装
 *
 */
public class JDBCUtilss {
	private static Connection conn;
	private static PreparedStatement pstmt;
	private static ResultSet rs;
	//执行一次
	static{
		
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			//System.out.println("加载驱动失败!检查mysql驱动包是否存在");

		}
	}
	/**
	 * 获取数据库连接
	 * @return conn
	 */
	public static Connection getConnection(){
		try {
			if(conn == null || conn.isClosed()){
				conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/rms?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC", "root", "123456");
				//
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	/**
	 * 关闭数据库连接
	 * @param conn
	 * @param pstmt
	 * @param rs
	 */
	public static void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){
		try {
			if(rs != null){rs.close();}
			if(pstmt != null){pstmt.close();}
			if(conn != null){conn.close();}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 关闭查询的数据库连接
	 *
	 */
	public static void closeAll(){
		try {
			if(rs != null){rs.close();}
			if(pstmt != null){pstmt.close();}
			if(conn != null){conn.close();}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	/**
	 * 处理insert/update/delete操作
	 * @param sql
	 * @param params
	 * @return  num
	 */
	public static int executeUpdate(String sql,Object... params){
		int num = 0;
		try {
			conn = getConnection();
			//获取预处理对象
			pstmt =conn.prepareStatement(sql);
			//传参数
			if(params != null){
				for(int i=0;i<params.length;i++){
					pstmt.setObject(i+1, params[i]);
				}
			}
			//执行sql
			num = pstmt.executeUpdate();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return num;
	}
	
	/**
	 * 处理select操作
	 */
	public static ResultSet executeQuery(String sql,Object... params){
		try{
			//1.获取连接
			conn = getConnection();
			//2.预编译sql
			pstmt = conn.prepareStatement(sql);
			//3.传参数
			if(params != null){
				for(int i=0;i<params.length;i++){
					pstmt.setObject((i+1), params[i]);
				}
			}
			//4.执行sql
			rs = pstmt.executeQuery();
		}catch(Exception e){
			e.printStackTrace();
		}
		return rs;
	}
}

  • 14
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值