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<DinnerTable> query(DinnerTable dt) {
return dao.select(dt);
}
public List<DinnerTable> 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<Food> query() {
return dao.select();
}
public List<Food> query(Food food) {
return dao.select(food);
}
public List<Food> 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<Food> 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<FoodType> list = dao.select(var1);
return list == null ? null : list.get(0);
}
public List<FoodType> query() {
return dao.select();
}
public List<FoodType> query(FoodType foodType) {
return dao.select(foodType);
}
public Integer getFirstType() {
List<FoodType> 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<OrderDetail> query() {
return dao.select();
}
public List<OrderDetail> 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<Orders> 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<Orders> 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<User> 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<User> select = userDao.select(user);
return CollectionUtil.isNotEmpty(select) ? select.get(0) : null;
}
public int save(User user){
return userDao.insert(user);
}
}
5、项目数据库详细设计
food食物信息表:

foodtype食物分类信息表:

dinnertable食堂餐桌信息表:

orderdetails和orders订单信息表:


user用户信息表

7、项目部分功能截图






JAVA WEB期末项目第二阶段成果的更多相关文章
- Java web期末项目第一阶段成果发表
摘要 我们做的系统是一个基于Java web与MySQL的食堂订餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 我们的第一阶段主要完成以下三件事: 完成项目的需求分析 完成项目的领域逻辑(domai ...
- JAVA Web期末项目第三阶段成果
我们做的系统是一个基于Java web与MySQL的食堂点餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 项目的测试 在系统部署到云服务器之前,已经在本机上进行了部署测试,通过mvn打包生成war文 ...
- IDEA Java Web(Spring)项目从创建到打包(war)
创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...
- docker简单入门之使用docker容器部署简单的java web开源项目jpress博客程序
一.在centos7.3上安装docker 前置条件 x86_64-bit 系统 kernel 3.10+ .检查内核版本,返回的值大于3.10即可 [root@node1 ~]# uname -r ...
- 【转】IntelliJ IDEA 创建 hello world Java web Maven项目
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- 学生信息的添加 Java web简单项目初试(修改)
错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...
- 第二次正式java web开发项目的总结(回收站恢复)
都说互联网行业加班很是厉害,记得前不久网上还晒出了几个大城市互联网行业的加班排名调查,但是我们公司,或者说我们项目组倒是非常的例外,进公司也差不多半年了,才仅仅上个月有一个周六加过一天班而已. 不过好 ...
- 第一次正式java web开发项目的总结
去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门 ...
随机推荐
- 面向对象 part6 继承
继承 js实现的是实现继承/也就是继承实际的方法 //主要依赖:原型链 //基本思路: 就是一个引用类型继承另一个引用类型的属性和方法 详细:构造函数,实例,原型之间的关系.每个构造函数都有一个原型对 ...
- 编程基础-servlet1
1.Servelet是什么 sevlet是Server与Applet 的缩写,即服务端小程序.Sun公司提供的开发动态web资源的技术. servelet本质是java类,但遵循Servlet规范,没 ...
- 第五章——Pytorch中常用的工具
2018年07月07日 17:30:40 __矮油不错哟 阅读数:221 1. 数据处理 数据加载 ImageFolder DataLoader加载数据 sampler:采样模块 1. 数据处理 ...
- MySQL--OPTIMIZE TABLE碎片整理
参考:http://blog.51yip.com/mysql/1222.html BLOB和TEXT值会引起一些性能问题,特别是在执行了大量的删除操作时.删除操作会在数据表中留下很大的空洞,以后填入这 ...
- redis 会丢数据吗
不管是以前的主从模式(哨兵模式),还是现在的集群模式,因为都用了slave of 同步; 而slave of 同步会丢弃本地数据,直接用对方的数据来覆盖本地,所以会丢失数据 1.主备网络不通,后续主节 ...
- redis安装以及主从复制完整版
redis安装以及主从复制完整版redis版本:redis-3.2.11主从复制模式:master--> slave1--> slave2 master:10.10.11.32 slave ...
- tomcat设置远程监听端口(linux&windows)
1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent ...
- 吴裕雄--天生自然python Google深度学习框架:图像识别与卷积神经网络
- 14 微服务电商【黑马乐优商城】:day06-了解vue-router和webpack的使用
本项目的笔记和资料的Download,请点击这一句话自行获取. day01-springboot(理论篇) :day01-springboot(实践篇) day02-springcloud(理论篇一) ...
- c++ 语言几个坑
#include <iostream> int main(){ int i = 1; switch (i){ case 1 : int j ; j = 1; break; case 2: ...