JavaSE-饿了么项目实战
生活随笔
收集整理的這篇文章主要介紹了
JavaSE-饿了么项目实战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
餓了么后臺管理系統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-饿了么项目实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [错误解决]centos中使用kubea
- 下一篇: 区块链三加一:资产不可复制性