建表
图片.png
导入Java依赖库
图片.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);
}
}
}
图片.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);
}
}
图片.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);
图片.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;
}
图片.png
图片.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("登陆失败,用户名或密码错误。");
}
}
}
图片.png
图片.png