饿了么后台管理系统cmd版

  • 1、表结构ddl
  • 2、项目搭建
  • 3、Util包
  • 4、项目代码
    • 4.1、Entity层
    • 4.2、Dao层
    • 4.3、view层
    • 4.4、程序入口

1、表结构ddl

MySQL建表如下:



2、项目搭建

2.1 开发工具:STS
2.2 检查开发工具的jdk配置:jdk8
2.3 检查开发工具的文件编码配置:utf-8
2.4 STS内部结构如下:

3、Util包

package com.neuedu.elm.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;//数据库工具类:获取连接对象、释放那3个资源对象
public class DBUtil {//加载数据库驱动程序static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}//获取数据库连接对象public static Connection getConnection() {String url="jdbc:mysql://localhost:3306/elm?useSSL=false&useUnicode=true&characterEncoding=utf-8";String username="root";String password="123456";Connection conn = null;try {conn = DriverManager.getConnection(url,username,password);} catch (SQLException e) {e.printStackTrace();}return conn;}//释放那3个资源public static void close(Connection conn,Statement st,ResultSet rs) {try {if(rs!=null) {rs.close();}if(st!=null) {st.close();}if(conn!=null) {conn.close();}}catch(Exception e) {e.printStackTrace();}}
}

4、项目代码

4.1、Entity层

package com.neuedu.elm.admin.entity;public class Admin {private Integer adminId;private String adminName;private String password;public Admin() {super();// TODO Auto-generated constructor stub}public Admin(Integer adminId, String adminName, String password) {super();this.adminId = adminId;this.adminName = adminName;this.password = password;}public Integer getAdminId() {return adminId;}public void setAdminId(Integer adminId) {this.adminId = adminId;}public String getAdminName() {return adminName;}public void setAdminName(String adminName) {this.adminName = adminName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "Admin [adminId=" + adminId + ", adminName=" + adminName + ", password=" + password + "]";}}
package com.neuedu.elm.business.entity;public class Business {private Integer businessId;private String password;private String businessName;private String businessAddress;private String businessExplain;private Double startPrice;private Double deliveryPrice;public Business() {}public Business(Integer businessId, String password, String businessName, String businessAddress,String businessExplain, Double startPrice, Double deliveryPrice) {super();this.businessId = businessId;this.password = password;this.businessName = businessName;this.businessAddress = businessAddress;this.businessExplain = businessExplain;this.startPrice = startPrice;this.deliveryPrice = deliveryPrice;}public Integer getBusinessId() {return businessId;}public void setBusinessId(Integer businessId) {this.businessId = businessId;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getBusinessName() {return businessName;}public void setBusinessName(String businessName) {this.businessName = businessName;}public String getBusinessAddress() {return businessAddress;}public void setBusinessAddress(String businessAddress) {this.businessAddress = businessAddress;}public String getBusinessExplain() {return businessExplain;}public void setBusinessExplain(String businessExplain) {this.businessExplain = businessExplain;}public Double getStartPrice() {return startPrice;}public void setStartPrice(Double startPrice) {this.startPrice = startPrice;}public Double getDeliveryPrice() {return deliveryPrice;}public void setDeliveryPrice(Double deliveryPrice) {this.deliveryPrice = deliveryPrice;}@Overridepublic String toString() {return  businessId + "\t|\t" + password + "\t|\t" + businessName+ "\t|\t" + businessAddress + "\t|\t" + businessExplain + "\t|\t" + startPrice + "\t|\t" + deliveryPrice;}}
package com.neuedu.elm.food.entity;public class Food {private Integer foodId;private String foodName;private String foodExplain;private Double foodPrice;private Integer businessId;public Food() {super();}public Food(Integer foodId, String foodName, String foodExplain, Double foodPrice, Integer businessId) {super();this.foodId = foodId;this.foodName = foodName;this.foodExplain = foodExplain;this.foodPrice = foodPrice;this.businessId = businessId;}public Integer getFoodId() {return foodId;}public void setFoodId(Integer foodId) {this.foodId = foodId;}public String getFoodName() {return foodName;}public void setFoodName(String foodName) {this.foodName = foodName;}public String getFoodExplain() {return foodExplain;}public void setFoodExplain(String foodExplain) {this.foodExplain = foodExplain;}public Double getFoodPrice() {return foodPrice;}public void setFoodPrice(Double foodPrice) {this.foodPrice = foodPrice;}public Integer getBusinessId() {return businessId;}public void setBusinessId(Integer businessId) {this.businessId = businessId;}@Overridepublic String toString() {return "\t|\t" + foodId + "\t|\t" + foodName + "\t|\t" + foodExplain+ "\t|\t" + foodPrice + "\t|\t" + businessId;}
}

4.2、Dao层

AdminDao

package com.neuedu.elm.admin.dao;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.entity.Business;public interface AdminDao {//登录public Admin login(Admin a);}

AdminDaoImpl

package com.neuedu.elm.admin.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.util.DBUtil;public class AdminDaoImpl implements AdminDao{public Admin login(Admin a) {Connection conn = null;PreparedStatement st = null;ResultSet rs = null;Admin a2 = null;try {conn = DBUtil.getConnection();String sql = "select * from elm_admin where admin_id =? and password=?";st = conn.prepareStatement(sql);st.setInt(1, a.getAdminId());st.setString(2, a.getPassword());rs = st.executeQuery();while(rs.next()) {a2 = new Admin();a2.setAdminId(rs.getInt("admin_id"));a2.setAdminName(rs.getString("admin_name"));a2.setPassword(rs.getString("password"));}}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return a2;}}

BusinessDao

package com.neuedu.elm.business.dao;import java.util.List;import com.neuedu.elm.business.entity.Business;public interface BusinessDao {public List<Business> selectAll();//显示所有商家public int add(Business b);//创建新的商家public int add(String businessName);//根据商家名称创建新的商家public int delete(Business b);// 删除商家public int update(Business b);// 修改商家public Business selectBusinessById(Integer businessId);// 通过id查询public int updateBusinessPassword(Integer businessId,String Password);//更新密码public Business login(Business b);//商家登录public Business getBusinessById(Integer businessId);//获取商家idpublic List<Business> listBusiness(String businessName);//模糊查询
}

BusinessDaoImpl

package com.neuedu.elm.business.dao;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.PreparedStatement;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.util.DBUtil;public class BusinessDaoImpl implements BusinessDao{/** 根据名称创建新商家,默认提供密码为123;方法返回值是创建的新商家的business_id值;* @see com.neuedu.elm.business.dao.BusinessDao#add(java.lang.String)*/Connection conn = null;PreparedStatement st = null;ResultSet rs = null;public int add(String businessName) {int i = 0;try {conn = DBUtil.getConnection();String sql = "insert into elm_business(password,business_name) values('123', ?)";//第二个参数表示要获取生成得主键值st = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);st.setString(1, businessName);st.executeUpdate();//获取生成的主键值rs = st.getGeneratedKeys();if(rs.next()) {i = rs.getInt(1);}}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return i;}@Overridepublic int add(Business b) {int i = 0;try {conn = DBUtil.getConnection();String sql = "insert into elm_business(password,business_name,"+ "business_address,business_explain,start_price,delivery_price)"+" values(?, ?, ?, ?, ?, ?)";st = conn.prepareStatement(sql);st.setString(1, b.getPassword());st.setString(2, b.getBusinessName());st.setString(3, b.getBusinessAddress());st.setString(4, b.getBusinessExplain());st.setDouble(5, b.getStartPrice());st.setDouble(6, b.getDeliveryPrice());i = st.executeUpdate();}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return i;}@Overridepublic List<Business> selectAll() {List<Business> list = new ArrayList<>();try {conn = DBUtil.getConnection();String sql = "select * from elm_business";st = conn.prepareStatement(sql);rs = st.executeQuery();while(rs.next()) {Business b2 = new Business();b2.setBusinessId( rs.getInt("business_id") );b2.setPassword( rs.getString("password") );b2.setBusinessName( rs.getString("business_name") );b2.setBusinessAddress( rs.getString("business_address") );b2.setBusinessExplain( rs.getString("business_explain") );b2.setStartPrice( rs.getDouble("start_price") );b2.setDeliveryPrice( rs.getDouble("delivery_price") );list.add(b2);}}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return list;}@Overridepublic int delete(Business b) {int i = 0;try {conn = DBUtil.getConnection();String sql = "delete from elm_business where business_id= ?";st = conn.prepareStatement(sql);st.setInt(1,b.getBusinessId());i = st.executeUpdate();}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs); }return i;  }@Overridepublic int update(Business b) {int i = 0;String sql = "update elm_business set  business_name = ?, business_address = ?, business_explain = ?,"+ " start_price= ?, delivery_price = ? where business_id = ?";try {conn =  DBUtil.getConnection();st = conn.prepareStatement(sql);st.setString(1,b.getBusinessName());st.setString(2,b.getBusinessAddress());st.setString(3,b.getBusinessExplain());st.setDouble(4,b.getStartPrice());st.setDouble(5,b.getDeliveryPrice());st.setInt(6,b.getBusinessId());i = st.executeUpdate();} catch (Exception e) {e.printStackTrace();}return i;}@Overridepublic Business selectBusinessById(Integer businessId) {Business business = null;String sql = "select * from elm_business where business_id = ?";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setInt(1, businessId);rs = st.executeQuery();while (rs.next()){Business b2 = new Business();b2.setBusinessId( rs.getInt("business_id") );b2.setPassword( rs.getString("password") );b2.setBusinessName( rs.getString("business_name") );b2.setBusinessAddress( rs.getString("business_address") );b2.setBusinessExplain( rs.getString("business_explain") );b2.setStartPrice( rs.getDouble("start_price") );b2.setDeliveryPrice( rs.getDouble("delivery_price") );}} catch (Exception e) {e.printStackTrace();}finally {DBUtil.close(conn,st,rs);}return business;}@Overridepublic int updateBusinessPassword(Integer businessId, String Password) {int i = 0;String sql = "update elm_business set password = ? where business_id = ?";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setString(1, Password);st.setInt(2, businessId);i = st.executeUpdate();} catch (Exception e) {e.printStackTrace();}finally {DBUtil.close(conn,st,rs);}return i;}@Overridepublic Business login(Business b) {Business b2 = null;try {conn = DBUtil.getConnection();String sql = "select * from elm_business where business_id = ? and password= ?";st = conn.prepareStatement(sql);st.setInt(1, b.getBusinessId());st.setString(2, b.getPassword());rs = st.executeQuery();while(rs.next()) {b2 = new Business();b2.setBusinessId(rs.getInt("business_id"));b2.setPassword(rs.getString("password"));b2.setBusinessName(rs.getString("business_name"));b2.setBusinessAddress(rs.getString("business_address"));b2.setBusinessExplain(rs.getString("business_explain"));b2.setStartPrice(rs.getDouble("start_price"));b2.setDeliveryPrice(rs.getDouble("delivery_price"));}}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return b2;}@Overridepublic Business getBusinessById(Integer businessId) {Business b = null;String sql = "select * from elm_business where business_id = ?";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setInt(1, businessId);rs = st.executeQuery();while (rs.next()){b = new Business();b.setBusinessId(rs.getInt("business_id"));b.setPassword(rs.getString("password"));b.setBusinessName(rs.getString("business_name"));b.setBusinessAddress(rs.getString("business_address"));b.setBusinessExplain(rs.getString("business_explain"));b.setStartPrice(rs.getDouble("start_price"));b.setDeliveryPrice(rs.getDouble("delivery_price"));}} catch (Exception e) {e.printStackTrace();}finally {DBUtil.close(conn,st,rs);}return b;}@Overridepublic List<Business> listBusiness(String businessName) {ArrayList<Business> list = new ArrayList<>();StringBuffer sql = new StringBuffer("select * from elm_business where 1=1");if (businessName !=null && !businessName.equals("")){sql.append(" and  business_name LIKE '%"+businessName+"%'");}try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql.toString());rs = st.executeQuery();while (rs.next()){Business b = new Business();b.setBusinessId(rs.getInt("business_id"));b.setPassword(rs.getString("password"));b.setBusinessName(rs.getString("business_name"));b.setBusinessAddress(rs.getString("business_address"));b.setBusinessExplain(rs.getString("business_explain"));b.setStartPrice(rs.getDouble("start_price"));b.setDeliveryPrice(rs.getDouble("delivery_price"));list.add(b);}} catch (Exception e) {e.printStackTrace();}return list;}
}

FoodDao

package com.neuedu.elm.food.dao;import java.util.List;import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.food.entity.Food;public interface FoodDao {public List<Food> listFood(Integer BusinessId);public int add(Food f);public int update(Food f);public int delete(Food f);public Food listFoodById(Integer foodId);
}

FoodDaoImpl

package com.neuedu.elm.food.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;import com.neuedu.elm.food.entity.Food;
import com.neuedu.elm.util.DBUtil;public class FoodDaoImpl implements FoodDao{Connection conn = null;PreparedStatement st = null;ResultSet rs = null;private Scanner sc = new Scanner(System.in);@Overridepublic int add(Food f) {int i = 0;String sql = "insert into elm_food(food_name,"+ "food_explain,food_price,business_id)"+" values( ?, ?, ?, ?)";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setString(1, f.getFoodName());st.setString(2, f.getFoodExplain());st.setDouble(3, f.getFoodPrice());st.setInt(4, f.getBusinessId());i = st.executeUpdate();}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return i;}@Overridepublic int update(Food f){int i = 0;String sql = "update elm_food set food_name= ?,food_explain= ?,food_price= ? where food_id= ? and business_id = ?";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setString(1, f.getFoodName());st.setString(2, f.getFoodExplain());st.setDouble(3, f.getFoodPrice());st.setInt(4, f.getFoodId());st.setInt(5, f.getBusinessId());i = st.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.close(conn, st, rs);}return i;}@Overridepublic int delete(Food f) {int i = 0;String sql = "delete from elm_food where food_id= ? and business_id = ?";try {conn =DBUtil.getConnection();st = conn.prepareStatement(sql);st.setInt(1, f.getFoodId());st.setInt(2, f.getBusinessId());i = st.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.close(conn, st, rs);}return i;}@Overridepublic List<Food> listFood(Integer BusinessId)  {List<Food> list = new ArrayList<>();try {conn = DBUtil.getConnection();String sql = "select * from elm_food where business_id= ?";st = conn.prepareStatement(sql);st.setInt(1, BusinessId);rs = st.executeQuery();while(rs.next()) {Food f = new Food();f.setFoodId(rs.getInt("food_id"));f.setFoodName(rs.getString("food_name"));f.setFoodExplain(rs.getString("food_explain"));f.setFoodPrice(rs.getDouble("food_price"));f.setBusinessId(rs.getInt("business_id"));list.add(f);}}catch(Exception e) {e.printStackTrace();}finally {DBUtil.close(conn, st, rs);}return list;}@Overridepublic Food listFoodById(Integer foodId) {Food f = null;String sql = "select * from elm_food where food_id= ?";try {conn = DBUtil.getConnection();st = conn.prepareStatement(sql);st.setInt(1, foodId);rs = st.executeQuery();while(rs.next()) {f = new Food();f.setFoodId(rs.getInt("food_id"));f.setFoodName(rs.getString("food_name"));f.setFoodExplain(rs.getString("food_explain"));f.setFoodPrice(rs.getDouble("food_price"));f.setBusinessId(rs.getInt("business_id"));}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.close(conn, st, rs);}return f;}
}

4.3、view层

AdminView

package com.neuedu.elm.admin.view;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.entity.Business;public interface AdminView {public Admin login();}

AdminViewImpl

package com.neuedu.elm.admin.view;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;import com.neuedu.elm.admin.dao.AdminDao;
import com.neuedu.elm.admin.dao.AdminDaoImpl;
import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.dao.BusinessDao;
import com.neuedu.elm.business.dao.BusinessDaoImpl;
import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.util.DBUtil;public class AdminViewImpl implements AdminView{private AdminDao dao = new AdminDaoImpl();public Admin login() {//1、获取用户输入的信息Scanner sc = new Scanner(System.in);System.out.println("请输入管理员的id:");int id = sc.nextInt();System.out.println("请输入管理员的密码:");String password = sc.next();//2、把输入信息封装到对象中Admin a = new Admin(id,null,password);//3、调用dao层实现功能Admin a2 = dao.login(a);return a2;}}

BusinessView

package com.neuedu.elm.business.view;import com.neuedu.elm.business.entity.Business;import java.util.List;import com.neuedu.elm.admin.entity.Admin;public interface BusinessView {public void selectAll();//查找所有商家public void add();//增加商家public Business login();//商家登录public void delete();//删除商家public void update(Integer businessId);//修改商家public void updateBusinessPassword(Integer businessId); //商家修改密码public void selectBusiness();//根据商家关键字模糊查询public void selectBusinessById(Integer businessId);
}

BusinessViewImpl

package com.neuedu.elm.business.view;import java.util.List;
import java.util.Scanner;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.business.dao.BusinessDao;
import com.neuedu.elm.business.dao.BusinessDaoImpl;
import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.food.dao.FoodDao;
import com.neuedu.elm.food.dao.FoodDaoImpl;
import com.neuedu.elm.food.entity.Food;public class BusinessViewImpl implements BusinessView{private BusinessDao dao = new BusinessDaoImpl();private Scanner sc = new Scanner(System.in);@Overridepublic void add() {//增加商家System.out.println("请输入商家名称:");String businessName = sc.next();int id = dao.add(businessName);if(id>0) {System.out.println("创建商家成功,商家id为:" + id + ",初始密码为123");System.out.println("请商家尽快登陆系统,自动修改初始密码!完善信息!");}else {System.out.println("创建商家失败!请自行查找原因!");}}@Overridepublic void selectAll() {//查找所有商家System.out.println("---------------------------------所有商家列表-------------------------------------");System.out.println("商家id\t|\t密码\t|\t商家名称\t|\t商家地址\t|\t商家描述\t|\t起送费\t|\t配送费");List<Business> list = dao.selectAll();for(int i=0;i<list.size();i++) {Business b2 = list.get(i);System.out.println("" + (i+1) + b2);}System.out.println("-----------------------------------------------------------------------------");}@Overridepublic Business login() {//商家登录System.out.println("请输入商家的id:");int id = sc.nextInt();System.out.println("请输入商家的密码:");String password = sc.next();Business b = new Business(id,password,null, null, null, null, null);Business b2 = dao.login(b);return b2;}@Overridepublic void delete() {//删除商家Business b =new Business();System.out.println("请输入要删除的商家id");int id = sc.nextInt();b.setBusinessId(id);BusinessDao dao = new BusinessDaoImpl();System.out.println("确认要删除吗(y/n)");if (sc.next().equals("y")){int i = dao.delete(b);if (i == 1){System.out.println("删除商家成功");}else{System.out.println("删除商家失败");}}}@Overridepublic void update(Integer businessId) {//修改商家BusinessDao dao = new BusinessDaoImpl();Business b = dao.getBusinessById(businessId);System.out.println("商家id\t|\t密码\t|\t商家名称\t|\t商家地址\t|\t商家描述\t|\t起送费\t|\t配送费");System.out.println(b);String str = "";System.out.println("是否修改商家名称(y/n):");str = sc.next();if(str.equals("y")) {System.out.println("请输入新的商家名称:");b.setBusinessName(sc.next());}System.out.println("是否修改商家地址(y/n):");str = sc.next();if(str.equals("y")) {System.out.println("请输入新的商家地址:");b.setBusinessAddress(sc.next());}System.out.println("是否修改商家介绍(y/n):");str = sc.next();if(str.equals("y")) {System.out.println("请输入新的商家介绍:");b.setBusinessExplain(sc.next());}System.out.println("是否修改起送费(y/n):");str = sc.next();if(str.equals("y")) {System.out.println("请输入新的起送费:");b.setStartPrice(sc.nextDouble());}System.out.println("是否修改配送费(y/n):");str = sc.next();if(str.equals("y")) {System.out.println("请输入新的配送费:");b.setDeliveryPrice(sc.nextDouble());}int i = dao.update(b);if(i>0) {System.out.println("修改商家信息成功!");}else {System.out.println("修改商家信息失败!");}}@Overridepublic void updateBusinessPassword(Integer businessId) {//商家修改密码BusinessDao dao = new BusinessDaoImpl();Business b = dao.getBusinessById(businessId);System.out.println("请输入旧密码");String oldPass = sc.next();System.out.println("请输入新密码");String newPass = sc.next();System.out.println("请再次输入新密码");String beginNewPass = sc.next();if (!b.getPassword().equals(oldPass)){System.out.println("你的密码输错了,请重新输入");}else if (!newPass.equals(beginNewPass)){System.out.println("两次密码不一致请重新输入");}else {int i = dao.updateBusinessPassword(b.getBusinessId(), newPass);if (i>0){System.out.println("修改密码成功!");}else {System.out.println("修改密码失败!");}}}@Overridepublic void selectBusiness() {//根据商家关键字模糊查询String businessName = "";String str = "";System.out.println("是否输入商家名称关键词(y/n):");str = sc.next();if (str.equals("y")){System.out.println("请输入商家名称关键词");businessName = sc.next();}BusinessDaoImpl dao = new BusinessDaoImpl();List<Business> list = dao.listBusiness(businessName);System.out.println("---------根据您所输入的关键字,模糊查询匹配到的商家如下:---------");System.out.println("商家id"+"\t"+"商家名称"+"\t"+"商家地址"+"\t"+"商家描述"+"\t"+"起送费"+"\t"+"配送费");for (Business b :list){System.out.println(b.getBusinessId() +"\t"+b.getBusinessName()+"\t"+b.getBusinessAddress()+"\t"+b.getBusinessExplain()+"\t"+b.getStartPrice()+"\t"+b.getDeliveryPrice());}}@Overridepublic void selectBusinessById(Integer businessId) {BusinessDao dao = new BusinessDaoImpl();Business b = dao.getBusinessById(businessId);System.out.println("商家id\t|\t密码\t|\t商家名称\t|\t商家地址\t|\t商家描述\t|\t商家起送费\t|\t商家配送费");System.out.println(b);}}

FoodView

package com.neuedu.elm.food.view;import java.util.List;import com.neuedu.elm.food.entity.Food;public interface FoodView {public void add(Integer businessId);//增加食品public void delete(Integer businessId);//删除食品public void update(Integer businessId);//修改食品public List<Food> selectFood(Integer businessId);//查找商家所属食品
}

FoodViewImpl

package com.neuedu.elm.food.view;import java.util.List;
import java.util.Scanner;import com.neuedu.elm.business.dao.BusinessDao;
import com.neuedu.elm.business.dao.BusinessDaoImpl;
import com.neuedu.elm.food.dao.FoodDao;
import com.neuedu.elm.food.dao.FoodDaoImpl;
import com.neuedu.elm.food.entity.Food;public class FoodViewImpl implements FoodView{private Scanner sc = new Scanner(System.in);@Overridepublic void add(Integer businessId) {Food f = new Food();System.out.println("请输入新增食品的名称:");f.setFoodName(sc.next());System.out.println("请输入新增食品的描述:");f.setFoodExplain(sc.next());System.out.println("请输入新增食品的价格:");f.setFoodPrice(sc.nextDouble());f.setBusinessId(businessId);FoodDao dao = new FoodDaoImpl();int i = dao.add(f);if(i>0) {System.out.println("新增食品成功");}else {System.out.println("新增食品失败");}}@Overridepublic void delete(Integer businessId) {FoodDao dao = new FoodDaoImpl();List<Food> list = selectFood(businessId);if(list.size()==0) {System.out.println("没有任何可以删除的食品!");}else {System.out.println("请选择要删除的食品id:");int foodId = sc.nextInt();Food f = dao.listFoodById(foodId);f.setBusinessId(businessId);System.out.println("确认要删除吗(y/n):");if(sc.next().equals("y")) {int i = dao.delete(f);if(i>0) {System.out.println("删除食品成功!");}else {System.out.println("删除食品失败!");}}}}@Overridepublic void update(Integer businessId) {FoodDao dao = new FoodDaoImpl();List<Food> list = selectFood(businessId);if(list.size()==0) {System.out.println("没有任何可以修改的食品!");}else {System.out.println("请选择要修改的食品id:");int foodId = sc.nextInt();Food food = dao.listFoodById(foodId);food.setBusinessId(businessId);System.out.println(food);String str = "";System.out.println("是否修改食品名称(y/n):");str = sc.next();if("y".equals(str)) {System.out.println("请输入新的食品名称:");food.setFoodName(sc.next());}System.out.println("是否修改食品描述(y/n):");str = sc.next();if("y".equals(str)) {System.out.println("请输入新的食品描述:");food.setFoodExplain(sc.next());}System.out.println("是否修改食品价格(y/n):");if("y".equals(sc.next())) {System.out.println("请输入新的食品价格:");food.setFoodPrice(sc.nextDouble());}int i = dao.update(food);if(i>0) {System.out.println("修改食品成功!");}else {System.out.println("修改食品失败!");}}}@Overridepublic List<Food> selectFood(Integer businessId) {FoodDao dao = new FoodDaoImpl();List<Food> list = dao.listFood(businessId);System.out.println("食品id\t|\t食品名称\t|\t食品描述\t|\t食品价格");for(Food food : list) {System.out.println(food.getFoodId()+"\t|\t"+food.getFoodName()+"\t|\t"+food.getFoodExplain()+"\t|\t"+food.getFoodPrice());}return list;}
}

4.4、程序入口

AdminEnter

package com.neuedu.elm;import java.util.Scanner;import com.neuedu.elm.admin.entity.Admin;
import com.neuedu.elm.admin.view.AdminView;
import com.neuedu.elm.admin.view.AdminViewImpl;
import com.neuedu.elm.business.view.BusinessView;
import com.neuedu.elm.business.view.BusinessViewImpl;//管理员入口类
public class AdminEnter {public static void main(String[] args) {new AdminEnter().work();}public void work() {System.out.println("========================饿了么管理员登录========================");AdminView aview = new AdminViewImpl();BusinessView view = new BusinessViewImpl();Scanner sc = new Scanner(System.in);//管理员登录Admin a = aview.login();if(a!=null) {//登陆成功,可以管理商家信息了int num = 0;while(num!=5) {System.out.println("请选择进行哪种操作:>>>>>>>>>>>>>>>>>");System.out.println("\t1-显示所有商家列表"+ "\t 2-根据商家名称查询商家"+ "\t 3-创建商家"+ "\t 4-删除商家"+ "\t 5-退出系统");num = sc.nextInt();switch(num) {case 1:view.selectAll();break;case 2:view.selectBusiness();break;case 3:view.add();break;case 4:view.delete();break;case 5:System.out.println("========================退出系统,欢迎下次再使用========================");break;default:System.out.println("没有这个选项!");break;}}}else {System.out.println("登录失败!请检查id和密码是否正确!");}}}

BusinessEnter

package com.neuedu.elm;import java.util.Scanner;import com.neuedu.elm.admin.view.AdminView;
import com.neuedu.elm.admin.view.AdminViewImpl;
import com.neuedu.elm.business.entity.Business;
import com.neuedu.elm.business.view.BusinessView;
import com.neuedu.elm.business.view.BusinessViewImpl;
import com.neuedu.elm.food.view.FoodViewImpl;public class BusinessEnter {public static void main(String[] args) throws Exception {run();}public static void run() throws Exception {System.out.println("===================================================================");System.out.println("----------------------------------饿了么商家自主管理系统---------------------------");System.out.println("===================================================================");// 商家登录Scanner sc = new Scanner(System.in);AdminView aview = new AdminViewImpl();BusinessView view = new BusinessViewImpl();Business business = view.login();if (business != null){System.out.println(">>>>>>>商家#"+ business.getBusinessName() +"#欢迎您回来!>>>>>>>");int num = 0;while (num != 5){System.out.println(">>>>>>> 一级菜单\t 1-查看商家信息\t 2-修改商家信息\t 3-修改密码\t 4-所属商品管理\t 5-退出系统");System.out.println("请输入你要选择的序号:");num = sc.nextInt();switch (num){case 1:view.selectBusinessById(business.getBusinessId());break;case 2:view.update(business.getBusinessId());break;case 3:view.updateBusinessPassword(business.getBusinessId());break;case 4:new BusinessEnter().foodManager(business.getBusinessId());break;case 5:System.out.println("----------------------------------欢迎下次登录----------------------------------");break;default:System.out.println("没有这个选项,请重新输入");break;}}}else {System.out.println("登录失败,用户名密码错误!");}}public void foodManager(Integer businessId) throws Exception{FoodViewImpl view = new FoodViewImpl();int num = 0;while(num != 5) {System.out.println(">>>>>>> 二级菜单\t 1-查看食品信息\t 2-修改食品信息\t 3-新增食品信息\t 4-删除食品信息\t 5-返回上一级菜单");System.out.println("请输入你要选择的序号:");Scanner sc = new Scanner(System.in);num = sc.nextInt();switch(num) {case 1:view.selectFood(businessId);break;case 2:view.update(businessId);break;case 3:view.add(businessId);break;case 4:view.delete(businessId);break;case 5:break;default :System.out.println("没有这个选项,请重新输入");    break;}}}
}

JavaSE-饿了么项目实战相关推荐

  1. Vue 2.0 真实点餐项目实战

    1 常见的七种排序算法解析 作者简介: 耀升,一线互联网公司 Android 架构师,做过十余个项目,丰富的项目管理经验.热爱技术分享,活跃于 CSDN 和知乎. Chat 简介: 在面试中一问到排序 ...

  2. 米米商城项目实战(含项目源码)

    目录 前言 1. 功能简介+项目展示 2. 数据库表 3. SSM框架 3.1 新建项目 3.2 目录改造 3.3 pom.xml文件 3.4 jdbc.properties 3.5 SqlMapCo ...

  3. 视频教程-Springboot+Vue前后的分离整合项目实战-Java

    Springboot+Vue前后的分离整合项目实战 10多年互联网一线实战经验,现就职于大型知名互联网企业,架构师, 有丰富实战经验和企业面试经验:曾就职于某上市培训机构数年,独特的培训思路,培训体系 ...

  4. 【JavaWeb】JavaWeb项目实战——品牌后台管理系统

    JavaWeb项目实战--品牌后台管理系统 项目概述 功能介绍 成果展示 项目实现 使用Maven构建项目 Maven介绍 具体操作 使用Mybatis封装对数据库的操作 在Mysql中建表,并添加数 ...

  5. C++项目实战-高并发服务器详析

    本节中的socket一套函数用的是之前封装过了的,进行异常处理(可自取) 链接: C++项目实战-socket编程_干饭小白的博客-CSDN博客 目录 BIO模型 NIO模型 多进程并发服务器 多线程 ...

  6. 计算机视觉一些项目实战技术(续)

    计算机视觉一些项目实战技术(续) PROTO-OBJECT BASED SALIENCY 在本项目中,提出一种新的方法来完成显著目标侦测的任务.与以往基于聚光灯注意理论的显著目标检测器相比,遵循基于对 ...

  7. 计算机视觉一些项目实战技术

    计算机视觉一些项目实战技术 SELECTIVE SEARCH FOR OBJECT LOCALISATION 需要多种策略来查找上述图像中的所有对象.勺子在桌子上的沙拉碗里.因此,图像本质上是层次性的 ...

  8. 【WEB API项目实战干货系列】- API登录与身份验证(三)

    上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. ...

  9. 【Rsync项目实战一】备份全网服务器数据

    目录 [Rsync项目实战]备份全网服务器数据 [企业案例] 1.1 环境部署 1.2 开始部署backup服务器:Rsync服务端过程: 1.3 开始部署nfs01服务器:Rsync客户端过程: [ ...

  10. 数据量大了一定要分表,分库分表 Sharding-JDBC 入门与项目实战

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:juejin.im/post/684490418236581 ...

最新文章

  1. xcode 及 MAC 常用快捷键
  2. PAT甲级1135 Is It A Red-Black Tree (30分):[C++题解]判断红黑树
  3. dell t40 固态系统盘_笔记本怎么安装固态硬盘 笔记本安装固态硬盘教程【详解】...
  4. 【Python】mmSegmentation语义分割框架教程(自定义数据集、训练设定、数据增强)
  5. pdn阻抗测试_Hyperlynx仿真PDN阻抗后仿真
  6. HNU 程序设计 飞机起飞时间安排
  7. OpenResty Codis集群缓存系统
  8. 奥本海姆信号与系统第2版笔记和课后答案
  9. SiamRPN++: 基于深度网络的孪生视觉跟踪的进化
  10. python新疆自驾旅游推荐系统毕业设计源码111042
  11. 上线啦,可以定时周期性提醒群成员的机器人
  12. 使用JS判定PC浏览器和IE浏览器
  13. 3dmax文件保存后超大怎么缩小?想学3D建模,还没软件速来领取
  14. 三分钟搭建开源的工单系统ferry
  15. android 图片底部波浪线,Android实现波浪线效果(xml bitmap)
  16. Prometheus监控神器-Alertmanager篇(1)
  17. js获取html中图片路径,用js快速的获取html页面中图片的地址
  18. 英文、数字和汉字、日文的字符判断 英文占1个字符,中文汉字占2个字符 el-form表单验证规则
  19. workbench应力应变曲线_ansys workbench中的7种应力结果如何理解
  20. java 换行符转换

热门文章

  1. python之道03
  2. php cms 公文,POSCMS文件信息查看
  3. android 数据线有几种,不止是安卓和苹果线,手机数据线原来还有这几种!
  4. C++中vector<int> nums和vector<int> nums的区别
  5. ProxySQL+MGR实现读写分离和主节点故障无感知切换
  6. html页面小宠物代码大全,纯css3实现宠物小鸡实例代码
  7. C++获取鼠标坐标并移动鼠标
  8. threejs 特效,自定义发光墙体,贴图动画版本。发光围栏。
  9. 基于航空RFID行李处理应用方案
  10. 理想国pandas练习题4