java控制台版员工管理系统_实训-3-Java控制台版外卖管理系统

本文介绍了如何使用Java实现一个控制台版的外卖管理系统,包括创建Business、Food和Admin实体类,以及对应的DAO层操作,如数据的增删查改,并展示了简单的后台管理入口程序。
摘要由CSDN通过智能技术生成

建表

86d4ff0d99d8

图片.png

导入Java依赖库

86d4ff0d99d8

图片.png

创建实体类

Business

package com.neusoft.domain;

import java.util.SplittableRandom;

public class Business {

private Integer businessId;

private String password;

private String businessName;

private String businessAddress;

private String businessExplain;

private Double starPrice;

private Double deliveryPrice;

public Business(){

}

public Business(Integer businessId, String password, String businessName, String businessAddress, String businessExplain, Double starPrice, Double deliveryPrice) {

this.businessId = businessId;

this.password = password;

this.businessName = businessName;

this.businessAddress = businessAddress;

this.businessExplain = businessExplain;

this.starPrice = starPrice;

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 getStarPrice() {

return starPrice;

}

public void setStarPrice(Double starPrice) {

this.starPrice = starPrice;

}

public Double getDeliveryPrice() {

return deliveryPrice;

}

public void setDeliveryPrice(Double deliveryPrice) {

this.deliveryPrice = deliveryPrice;

}

@Override

public String toString() {

return "Business{" +

"businessId=" + businessId +

", password='" + password + '\'' +

", businessName='" + businessName + '\'' +

", businessAddress='" + businessAddress + '\'' +

", businessExplain='" + businessExplain + '\'' +

", starPrice=" + starPrice +

", deliveryPrice=" + deliveryPrice +

'}';

}

}

Food

package com.neusoft.domain;

public class Food {

private Integer foodId;

private String foodName;

private String foodExplain;

private Double foodPrice;

private Integer businessId;

public Food(){

}

public Food(Integer foodId, String foodName, String foodExplain, Double foodPrice, Integer businessId) {

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;

}

@Override

public String toString() {

return "Food{" +

"foodId=" + foodId +

", foodName='" + foodName + '\'' +

", foodExplain='" + foodExplain + '\'' +

", foodPrice=" + foodPrice +

", businessId=" + businessId +

'}';

}

}

Admin

package com.neusoft.domain;

//用户表实体类

public class Admin {

private Integer adminId;

private String adminName;

private String password;

public Admin(){

}

public Admin(Integer adminId, String adminName, String password) {

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;

}

@Override

public String toString() {

return "Admin{" +

"adminId=" + adminId +

", adminName='" + adminName + '\'' +

", password='" + password + '\'' +

'}';

}

}

编写dao层

dao是和数据库直接调用相关的层,包括提供常用的对数据crud操作的api.

business相关

package com.neusoft.dao;

import com.neusoft.domain.Business;

import java.util.List;

public interface BusinessDao {

//返回商家列表

public List listBusiness();

}

package com.neusoft.dao.impl;

import com.neusoft.dao.BusinessDao;

import com.neusoft.domain.Business;

import com.neusoft.utils.JDBCUtils;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;

public class BusinessDaoImpl implements BusinessDao {

Connection conn = null;

PreparedStatement pst = null;

ResultSet rs = null;

@Override

public List listBusiness() {

ArrayList list = new ArrayList<>();

String sql = "select * from business";

try {

conn = JDBCUtils.getConnection();

pst = conn.prepareStatement(sql);

rs = pst.executeQuery();

while (rs.next()){

Business business = new Business();

String businessName = rs.getString(3);

business.setBusinessName(businessName);

list.add(business);

}

} catch (Exception e) {

e.printStackTrace();

}

return list;

}

}

test类

package com.neusoft;

import com.neusoft.dao.impl.BusinessDaoImpl;

import com.neusoft.domain.Business;

import java.util.List;

public class test {

public static void main(String[] args) {

BusinessDaoImpl dao=new BusinessDaoImpl();

List businessList=dao.listBusiness();

for(Business b : businessList){

System.out.println(b);

}

}

}

86d4ff0d99d8

图片.png

插入新信息

package com.neusoft.dao.impl;

import com.neusoft.dao.BusinessDao;

import com.neusoft.domain.Business;

import com.neusoft.utils.JDBCUtils;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;

public class BusinessDaoImpl implements BusinessDao {

Connection conn = null;

PreparedStatement pst = null;

ResultSet rs = null;

@Override

public List listBusiness() {

ArrayList list = new ArrayList<>();

String sql = "select * from business";

try {

conn = JDBCUtils.getConnection();

pst = conn.prepareStatement(sql);

rs = pst.executeQuery();

while (rs.next()){

Business business = new Business();

String businessName = rs.getString(3);

business.setBusinessName(businessName);

list.add(business);

}

} catch (Exception e) {

e.printStackTrace();

}

return list;

}

@Override

public int saveBusiness(String businessName) {

int businessId = 0;

// 希望插入一个商家的时候自动给一个默认密码

String sql = "insert into business(businessName, password) values (?, '123') ";

try {

conn = JDBCUtils.getConnection();

// 要设置返回自增长的键

pst = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);

pst.setString(1, businessName);

pst.executeUpdate();

// 同时获取自增长的id值 一行一列

rs = pst.getGeneratedKeys();

if (rs.next()){

businessId= rs.getInt(1);

}

} catch (Exception e) {

e.printStackTrace();

}finally {

JDBCUtils.close(rs, pst, conn);

}

return businessId;

}

@Override

public int removeBusiness(String businessName) {

return 0;

}

@Override

public int updateBusiness(Business business) {

return 0;

}

@Override

public Business getBusinessById() {

return null;

}

}

package com.neusoft;

import com.neusoft.dao.impl.BusinessDaoImpl;

import com.neusoft.domain.Business;

import java.util.List;

public class test {

public static void main(String[] args) {

// BusinessDaoImpl dao=new BusinessDaoImpl();

// List businessList=dao.listBusiness();

// for(Business b : businessList){

// System.out.println(b);

// }

BusinessDaoImpl dao = new BusinessDaoImpl();

int businessid = dao.saveBusiness("江科大食堂");

System.out.println("id" + businessid);

}

}

86d4ff0d99d8

图片.png

删除商家时添加事务操作

/**

* 删除商家

* businessId 商家id

* return 0 代表删除失败;1删除成功

* */

@Override

public int removeBusiness(int businessId) {

int result=0;

String sql="delete from business where businessId=?";

try {

conn=JDBCUtils.getConnection();

//开启事物

conn.setAutoCommit(false);

pst=conn.prepareStatement(sql);

pst.setInt(1,businessId);

result=pst.executeUpdate();

conn.commit();

} catch (Exception e) {

result=0;

try {

conn.rollback();

} catch (SQLException throwables) {

throwables.printStackTrace();

}

e.printStackTrace();

}finally {

JDBCUtils.close(pst,conn);

}

return result;

}

//删除一条记录

BusinessDaoImpl dao = new BusinessDaoImpl();

dao.removeBusiness(10013);

86d4ff0d99d8

图片.png

更新

@Override

public int updateBusiness(Business business) {

int result=0;

String sql="update business set businessName=?,businessAddress=?,businessExplain=?,starPrice=?,deliveryPrice=? where businessId=?";

try {

conn=JDBCUtils.getConnection();

pst=conn.prepareStatement(sql);

pst.setString(1,business.getBusinessName());

pst.setString(2,business.getBusinessAddress());

pst.setString(3,business.getBusinessExplain());

pst.setDouble(4,business.getStarPrice());

pst.setDouble(5,business.getDeliveryPrice());

pst.setInt(6,business.getBusinessId());

result= pst.executeUpdate();

} catch (Exception e) {

e.printStackTrace();

}

return result;

}

getBusinessById

@Override

public Business getBusinessById(Integer businessId) {

Business business=null;

String sql="select * from business where businessId=?";

try {

conn=JDBCUtils.getConnection();

pst=conn.prepareStatement(sql);

pst.setInt(1,businessId);

rs=pst.executeQuery();

while(rs.next()){

business=new Business();

business.setBusinessName(rs.getString("businessName"));

business.setBusinessAddress(rs.getString("businessAddress"));

business.setBusinessExplain(rs.getString("businessExplain"));

business.setStarPrice(rs.getDouble("StarPrice"));

business.setDeliveryPrice(rs.getDouble("DeliveryPrice"));

}

} catch (Exception e) {

e.printStackTrace();

}finally {

JDBCUtils.close(rs,pst,conn);

}

return business;

}

86d4ff0d99d8

图片.png

86d4ff0d99d8

图片.png

饿了么后台系统

package com.neusoft;

import com.neusoft.dao.BusinessDao;

import com.neusoft.dao.impl.BusinessDaoImpl;

import com.neusoft.domain.Admin;

import com.neusoft.domain.Business;

import com.neusoft.view.AdminView;

import com.neusoft.view.impl.AdminViewImpl;

import java.util.List;

import java.util.Scanner;

/**

* 饿了么管理入口程序

* */

public class ElmAdminEntry {

public static void main(String[] args) {

run();

}

public static void run(){

Scanner input =new Scanner(System.in);

System.out.println("---------------------------");

System.out.println("------饿了么后台管理系统-------");

System.out.println("---------------------------");

AdminView adminView=new AdminViewImpl();

BusinessDao businessDao=new BusinessDaoImpl();

Admin admin =adminView.login();

int menu=0;

if(admin!=null){

System.out.println("登陆成功!");

while(menu!=5){

System.out.println("1.查看所有商家");

System.out.println("2.搜索指定商家");

System.out.println("3.新建商家");

System.out.println("4.删除商家");

System.out.println("5.退出系统");

System.out.println("请输入你要选择的序号:");

menu=input.nextInt();

switch(menu){

case 1:

List businesses=businessDao.listBusiness();

for(Business b:businesses){

System.out.println(b);

}

break;

case 2:

System.out.println("搜索指定商家");

break;

case 3:

System.out.println("搜索商家");

break;

case 4:

System.out.println("删除商家");

break;

case 5:

System.out.println("欢迎下次登录");

break;

default:

System.out.println("没有这个选项");

break;

}

}

}else{

System.out.println("登陆失败,用户名或密码错误。");

}

}

}

86d4ff0d99d8

图片.png

86d4ff0d99d8

图片.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值