java成果_JAVA WEB期末项目第二阶段成果

我们做的系统是一个基于Java web与MySQL的食堂订餐系统

班级: 计科二班

小组成员:李鉴宣、袁超

1、开发环境

开发编辑器使用:Visual Studio Code

数据库使用:MySQL8.0

项目打包工具:maven3以上

项目本地部署测试:Tomcat8以上

在开发上使用了一个Jleopard-MVC 基于Servlet 3.1改造的,servlet快速开发脚手架详细用法请参考:

https://github.com/chg122345/jleopard

2、实现的基本功能功能

用户端功能

实现学生在线选座

实现学生在线选菜

实现将所选菜添加进餐车并完成在线下单

查看自己选购的菜品

管理员功能

实现管理员后台增减餐桌数量

实现管理员后台更改菜的种类

实现管理员后台增减更新菜品信息

实现后台显示学生下单信息

2、项目结构

Java文件

config文件夹:关于项目的数据库配置信息

controller文件夹:包含一些管理员的操作

dao文件夹:数据持久层

entritys文件夹:实体类

filter文件夹:过滤器

service文件夹:业务逻辑层

util文件夹:项目工具包

webapp目录

app目录:前台页面

sys目录:后台页面

4、项目关键代码

数据库配置信息 DemoConfigConstant.java:

public interface DemoConfigConstant {

String BASE_PACKAGE = "org.jleopard.ihotel";

String CONTROLLER_PACKAGE = "org.jleopard.ihotel.controller";

String ENTITY_PACKAGE = "org.jleopard.ihotel.entity";

String DATASOURCE_URL = "jdbc:mysql://127.0.0.1:3306/ihotel?characterEncoding=UTF-8";

String DATASOURCE_USER = "root";

String DATASOURCE_PASSWORD = "123456";

String DATASOURCE_DRIVER = "com.mysql.jdbc.Driver";

}

业务逻辑层:

点餐餐桌设计代码片段:DinnerTableService.java

@Service

public class DinnerTableService {

@Inject

private DinnerTableDao dao ;

public int add(DinnerTable dt) {

return dao.insert(dt);

}

public int delete(Integer id) {

return dao.deleteById(id);

}

public int update(DinnerTable dt) {

return dao.update(dt);

}

public List query(DinnerTable dt) {

return dao.select(dt);

}

public List query() {

return dao.select();

}

public DinnerTable changeState(Integer id) {

DinnerTable var1 = new DinnerTable();

var1.setId(id);

DinnerTable table = dao.select(var1) == null ? null : dao.select(var1).get(0);

Byte status = table.getTableStatus();

if (status == 0) {

status = 1;

Date date = new Date();

table.setOrderDate(date);

} else if (status == 1) {

status = 0;

table.setOrderDate(null);

}

table.setTableStatus(status);

dao.update(table);

return table;

}

public DinnerTable findById(Integer id) {

DinnerTable var1 = new DinnerTable();

var1.setId(id);

DinnerTable table = dao.select(var1) == null ? null : dao.select(var1).get(0);

return table;

}

public int quitTable(Integer id) {

DinnerTable var1 = new DinnerTable();

var1.setId(id);

var1.setTableStatus(Byte.valueOf("0"));

var1.setOrderDate(null);

int temp = dao.update(var1);

return temp;

}

}

菜品信息设计代码片段:FoodService.java

@Service

public class FoodService {

@Inject

private FoodDao dao;

public int delete(Integer id) {

return dao.deleteById(id);

}

public int update(Food food) {

return dao.update(food);

}

public List query() {

return dao.select();

}

public List query(Food food) {

return dao.select(food);

}

public List findByType(Integer type) {

Food var1 = new Food();

var1.setFoodType_id(new FoodType().initId(type));

return dao.select(var1);

}

public int add(Food food) {

return dao.insert(food);

}

public Food findById(Integer id) {

Food var1 = new Food();

var1.setId(id);

List list = query(var1);

return list == null ? null : list.get(0);

}

public PageInfo getAll(int page, int pageSize,String where, Serializable args) {

return dao.selectToPage(page, pageSize,where,args);

}

}

食物分类设计代码片段:

@Service

public class FoodTypeService {

@Inject

private FoodTypeDao dao;

public int add(FoodType foodType) {

return dao.insert(foodType);

}

public int update(FoodType foodType) {

return dao.update(foodType);

}

public int delete(int id) {

return dao.deleteById(id);

}

public FoodType findById(Integer id) {

FoodType var1 = new FoodType();

var1.setId(id);

List list = dao.select(var1);

return list == null ? null : list.get(0);

}

public List query() {

return dao.select();

}

public List query(FoodType foodType) {

return dao.select(foodType);

}

public Integer getFirstType() {

List list = query();

return list == null ? null : list.get(0).getId();

}

}

选菜并加入餐车完成下单逻辑实现:

OrderDetailService.java

@Service

public class OrderDetailService {

@Inject

private OrderDetialDao dao;

public int add(OrderDetail od) {

return dao.insert(od);

}

public List query() {

return dao.select();

}

public List findByOrderid(Integer id) {

return dao.select("orderid = ?",id);

}

}

OrdersService.java

@Service

public class OrdersService {

@Inject

private OrdersDao dao;

public int update(Orders orders) {

return dao.update(orders);

}

public List query() {

return dao.select(new Orders());

}

public int add(Orders orders) {

return dao.insert(orders);

}

public int getCount() {

return getAll(1,1,null,null).getTotalRows();

}

public PageInfo getAll(int page, int pageSize, String where, Serializable args) {

return dao.selectToPage(page,pageSize,where,args);

}

public List query(Orders orders) {

return dao.select(orders);

}

}

管理员登陆注册功能逻辑代码:

OrdersService.java

@Service

public class UserService {

@Inject

private UserDao userDao;

/**

* 验证邮箱是否存在

* 存在 --> true

*

* @param email

* @return

*/

public boolean checkEmail(String email) {

User user = new User();

user.setEmail(email);

List select = userDao.select(user);

return CollectionUtil.isNotEmpty(select);

}

public User login(String email, String password) {

User user = new User();

user.setEmail(email);

user.setPassword(password);

List select = userDao.select(user);

return CollectionUtil.isNotEmpty(select) ? select.get(0) : null;

}

public int save(User user){

return userDao.insert(user);

}

}

5、项目数据库详细设计

food食物信息表:

food.jpg?raw=true

foodtype食物分类信息表:

foodtype.jpg?raw=true

dinnertable食堂餐桌信息表:

dinnertable.jpg?raw=true

orderdetails和orders订单信息表:

orderdetails.jpg?raw=true

orders.jpg?raw=true

user用户信息表

user.jpg?raw=true

7、项目部分功能截图

7a5325829bf63b7231c552b8885b1603.png

64bb6b21fd3d4a1aaeceb69f60a90e1d.png

b8fca8b25ee9004ee5a97da2ae8acb15.png

d327968e4c30f1219ae01c64c7ca3571.png

cad316015a87dfb85450af018a06df5d.png

8a3aa403a5bfb34c2c51cc23d60bc0c7.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值